/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/shop/styles/MyfirsShop.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400&display=swap);
/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/shop/styles/MyfirsShop.scss (1) ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

:root {
  --site_width:1200px;
  --lightgray: #d6d7d9;
  --dji_grey: #f0f1f2;
  --body_bg_top: #f7f7f7;
  --cta_color: #ff4e6c;
  --cta_color_transparent1: #0808088f;
  --cta_color_transparent2: #6aa51c93;
  --cta_hover_color: #ce1719;
  --cta_achat_color: #69a51c;
  --star_color: #ff9100;
  --cta_positif_action: #79be20;
  --star_color_ligther: #ffc67b;
  --font_family:"Open Sans", sans-serif;
  --text_button_cart:"";
  --nouveaute_color:#00948c;
  --promo_color:#e62117;
  --inde_color:#f7921e;
  --event_color:#e1550d;
  --news_color:#0084ff;
  --doranco_bg: #030028;
  --doranco_rouge: #ce1719;
  --bas_degrade_body: #fff3eb;
  --rouge_debut_gradient: #df5e4c;
  --medium_breakpoint:1199px;
  --transition_300ms: all 0.3s ease;
  --bd_radius: 12px;
  --produit_info_bloc_width:550px;
  --responsiv_width: 95%;
}

/*
******************************************************************************

                    Responsive grand ecran de mes blocs

******************************************************************************
*/
@media (min-width: 1200px) {
  /**********   header et navigation   **********/
  #small_device_top_nav {
    display: none;
  }
  /***** #logo ******/
  .logo {
    width: 300px;
  }
  #open_nav {
    display: none;
  }
  .small_nav_link {
    display: none;
  }
  /**********   coup de coeur   **********/
  #coup_de_coeur_list .btn_text, #product_horizontal_list .btn_text {
    position: absolute;
    font-size: 0.8rem;
  }
  /**********   Catalogue produit   **********/
  #filtre_menu_btn {
    display: none;
  }
  #close_filtre_btn {
    display: none;
  }
  #a_propos {
    transform: translateY(50px);
  }
  #a_propos > div {
    flex-direction: column;
  }
  #a_propos .portrait {
    width: 100%;
  }
  .produit_achat {
    padding: 0 35px;
  }
  .produit_achat > div {
    flex-direction: row;
  }
  .produit_titre {
    font-size: 20px !important;
    padding: 0 35px !important;
  }
  .bloc_prix {
    flex-direction: column;
    justify-content: center;
  }
  .produit_prix {
    font-size: 28px;
  }
  .sylius-product-original-price.produit_prix {
    font-size: 20px;
  }
  .produit_achat #sylius-product-adding-to-cart {
    width: 85%;
  }
  .btn_text {
    font-size: 14px;
    line-height: 0 !important;
  }
  /**********   Fiche produit   **********/
  .ui.breadcrumb {
    top: 40px;
    margin: 20px 0 !important;
  }
  .fiche_row {
    width: var(--site_width) !important;
    margin: 0 0 20px !important;
  }
  [data-route=sylius_shop_product_show] .ui.two.column.stackable.grid > .column {
    width: var(--produit_info_bloc_width) !important;
  }
  .mainImage_container {
    height: 450px !important;
  }
  .mainImage {
    height: 450px !important;
  }
  #info_preview_container {
    gap: 15px;
  }
  #sylius-product-adding-to-cart .required.field {
    width: 40%;
  }
  #ajoutPanier.cta_btn {
    width: 50% !important;
  }
  /* #info_jeu */
  [data-route=sylius_shop_product_show] .ui.two.column.stackable.grid > .column:last-child > * {
    margin: 0;
    padding: 0;
    padding-top: 0 !important;
  }
  /**********  page a propos   **********/
  #a_propos_page h2 {
    margin: 30px 0 6px 0;
  }
}
/*
******************************************************************************

                    Responsive Tablette de mes blocs

******************************************************************************
*/
/* #responsive */
@media (min-width: 768px) and (max-width: 1199px) {
  /* Main container */
  .pusher {
    max-width: 100%;
  }
  /**********   header et navigation   **********/
  #small_device_top_nav {
    display: none;
  }
  #user_connection {
    display: none !important;
  }
  header > .ui.basic.segment {
    width: 100%;
  }
  #header_second_line_wrapper {
    flex-direction: column;
    width: min(100% - 1rem, var(--site_width));
    margin-inline: auto !important;
  }
  #header_second_line_wrapper > div:nth-child(4), #header_second_line_wrapper > div:nth-child(5) {
    display: none !important;
  }
  .small_nav_link {
    display: none;
  }
  /***** #logo ******/
  .logo {
    width: 300px;
  }
  #products_search-bar {
    width: 100% !important;
  }
  #sylius-cart-button {
    display: none;
  }
  #open_nav {
    display: none;
  }
  /* Barred e recherche  */
  #products_search-bar {
    left: 0 !important;
    padding: 0 !important;
  }
  /* Navigation Taxons  */
  #main_nav {
    width: 100%;
    flex-wrap: wrap;
  }
  #small_nav_heading {
    display: none !important;
  }
  #small_nav_heading > h2 {
    color: #fff;
    font-family: var(--font_family);
    font-size: 25px;
    text-align: center;
    width: 100%;
    padding: 25px;
    margin: 0;
  }
  #small_nav_heading > button {
    position: absolute;
    top: 2%;
    right: 2%;
    background: transparent;
    border: none;
    cursor: pointer;
  }
  .cross_icon {
    width: 40px;
    height: 40px;
    fill: #fff;
  }
  /* Bottom Navigation  */
  #bottom_nav {
    position: fixed;
    left: 0;
    bottom: 0;
    width: min(100%, var(--site_width));
    height: 60px !important;
    background: #fff;
    display: flex !important;
    z-index: 101;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
  }
  #bottom_nav > a, #bottom_nav > button {
    display: block;
    height: 100%;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #bottom_nav > button, #bottom_nav > button::before {
    border: none;
    background: transparent;
  }
  .nav_icon {
    width: 25px;
    height: 25px;
    fill: #000;
  }
  /**********   News et Banniere   **********/
  .slider_container {
    width: var(--responsiv_width) !important;
    height: auto;
    margin: 0 auto;
    display: flex !important;
    gap: 20px;
  }
  .slideshow-container {
    width: 100%;
    height: 400px;
    position: relative;
    margin: auto;
    border-radius: var(--bd_radius);
    overflow: hidden;
  }
  .img_slide {
    position: relative;
    left: 50%;
    min-width: var(--site_width);
    transform: translate(-50%, 0%) !important;
  }
  /**********   Nouveaux jeux, Promo et Jeux indépendants   **********/
  .myRow, .myRow.bloc_nav_produit {
    width: var(--responsiv_width) !important;
    height: fit-content !important;
    margin: 0 auto !important;
    margin-bottom: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 20px;
  }
  .myCol {
    position: relative;
    width: 100% !important;
  }
  .myCol video {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  /**********   Evenement et tournois   **********/
  .bloc_evenement {
    width: var(--responsiv_width) !important;
    margin-inline: auto !important;
    margin-bottom: 30px !important;
  }
  .bloc_evenement > video {
    min-width: 800px !important;
    width: 110% !important;
    height: auto !important;
  }
  /**********   Navigation produit par catégorie   **********/
  .myCol2 {
    width: 100% !important;
    flex-direction: column-reverse !important;
    padding-left: 0 !important;
    height: fit-content !important;
  }
  .myCol2 > div {
    width: 100% !important;
  }
  .myCol2 > div:first-child {
    padding-left: 30px !important;
    padding-bottom: 30px;
  }
  .myCol2 > div:last-child {
    max-height: 90px;
    overflow: hidden;
  }
  .myCol2 img {
    min-height: 400px;
    min-width: 250px;
  }
  /**********   Filtre et a propos   **********/
  #filtre_menu_btn {
    display: none;
  }
  #close_filtre_btn {
    display: none;
  }
  #filtreForm {
    width: 95% !important;
    margin: auto !important;
  }
  #a_propos {
    width: 95% !important;
    margin: auto !important;
  }
  #a_propos > div {
    flex-direction: column;
  }
  #a_propos .portrait {
    width: 100%;
  }
  .bloc_prix {
    flex-direction: column;
    justify-content: center;
  }
  /**********   Catalogue produits   **********/
  #products {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap !important;
  }
  #products.three.cards .card {
    width: 100% !important;
  }
  #products .cta_btn.rupture {
    width: 100% !important;
  }
  .produit_achat {
    padding: 0 35px;
  }
  .produit_achat > div {
    flex-direction: row;
  }
  .produit_titre {
    font-size: 20px !important;
    padding: 0 35px !important;
  }
  .produit_prix {
    font-size: 28px;
  }
  .sylius-product-original-price.produit_prix {
    font-size: 20px;
  }
  .produit_achat #sylius-product-adding-to-cart {
    width: 85%;
  }
  .btn_text {
    font-size: 14px;
    line-height: 0 !important;
  }
  /**********   Fiche produit   **********/
  .fiche_row {
    display: flex !important;
    flex-direction: column;
    width: 95% !important;
    margin: 0 auto !important;
  }
  #info_preview_container {
    gap: 15px;
  }
  /* #info_jeu */
  [data-route=sylius_shop_product_show] .ui.two.column.stackable.grid > .column:last-child > * {
    margin: 0;
    padding: 0;
    padding-top: 0 !important;
  }
  /**********   Conditions generales ventes  **********/
  .cgv p, .cgv h2, .cgv h3 {
    padding: 0 15px;
  }
  .cgv ul, .cgv ol {
    padding: 30px;
  }
  /**********  page a propos  **********/
  #a_propos_page article {
    padding: 15px;
  }
  #a_propos_page h2 {
    max-inline-size: 50ch;
    text-wrap: balance;
  }
  #a_propos_page #presentation div {
    padding: 15px;
    flex-direction: column;
  }
  /**********   Footer   **********/
  #footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pre-footer {
    width: var(--responsiv_width) !important;
  }
}
/*
******************************************************************************

                    Responsive smartphone de mes blocs

******************************************************************************
*/
@media (max-width: 767px) {
  /* Main container */
  .pusher {
    max-width: 100%;
  }
  /**********   header et navigation   **********/
  #user_connection {
    display: none !important;
  }
  header > .ui.basic.segment {
    width: 100%;
  }
  header > div:first-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  #header_second_line_wrapper {
    flex-direction: column;
    width: min(100% - 3rem, var(--site_width));
    margin-inline: auto !important;
  }
  .small_nav_link {
    display: block;
  }
  .small_nav_link hr {
    margin: 0 auto;
    width: 90%;
    border-color: #919191;
    margin-bottom: 20px;
  }
  /***** #logo ******/
  .logo {
    width: 240px;
  }
  #products_search-bar {
    width: 100% !important;
  }
  #small_device_top_nav {
    width: 100%;
    justify-content: space-between;
    display: flex;
    margin: 20px 0;
    padding: 0 !important;
  }
  #small_device_top_nav > a {
    width: 30%;
    text-align: center;
    font-family: var(--font_family);
    color: #000;
    font-weight: bolder;
    font-size: 0.8rem;
  }
  #sylius-cart-button {
    display: none;
  }
  /* Barred e recherche  */
  #products_search-bar {
    left: 0 !important;
    padding: 0 !important;
  }
  #searchbarButtons {
    width: 35% !important;
    position: absolute;
    right: 0;
  }
  /* Navigation Taxons  */
  #header_second_line_wrapper > div:first-child {
    width: 100% !important;
    display: flex;
    justify-content: space-between;
    padding: 20px 0 !important;
  }
  #open_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #f4f4f4 !important;
    width: 50px;
    border-radius: 6px;
    -webkit-box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }
  #header_second_line_wrapper > div:nth-child(4), #header_second_line_wrapper > div:nth-child(5) {
    display: none !important;
  }
  #main_nav.hidden {
    transform: translateX(-200%);
  }
  #main_nav {
    position: fixed;
    top: 0;
    left: 0;
    transform: none;
    background: rgb(0, 0, 0);
    flex-direction: column;
    gap: 20px;
    z-index: 100;
    margin: 0;
    border: none;
    height: 100vh;
    justify-content: flex-start;
    width: min(100%, var(--site_width));
    transition: var(--transition_300ms);
  }
  #main_nav::before {
    background: transparent;
  }
  #main_nav a {
    color: #fff;
  }
  #small_nav_heading {
    display: flex !important;
    background: #000;
    width: 100%;
  }
  #small_nav_heading > h2 {
    color: #fff;
    font-family: var(--font_family);
    font-size: 25px;
    text-align: center;
    width: 100%;
    padding: 25px;
    margin: 0;
  }
  #small_nav_heading > button {
    position: absolute;
    top: 2%;
    right: 2%;
    background: transparent;
    border: none;
    cursor: pointer;
  }
  .cross_icon {
    width: 40px;
    height: 40px;
    fill: #fff;
  }
  /* Bottom Navigation  */
  #bottom_nav {
    position: fixed;
    left: 0;
    bottom: 0;
    width: min(100%, var(--site_width));
    height: 60px !important;
    background: #fff;
    display: flex !important;
    z-index: 101;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
  }
  #bottom_nav > a, #bottom_nav > button {
    display: block;
    height: 100%;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #bottom_nav > button, #bottom_nav > button::before {
    border: none;
    background: transparent;
  }
  .nav_icon {
    width: 25px;
    height: 25px;
    fill: #000;
  }
  /**********   News et Banniere   **********/
  .slider_container {
    width: var(--responsiv_width) !important;
    height: auto;
    margin: 0 auto;
    display: flex !important;
    gap: 20px;
  }
  .slideshow-container {
    width: 100%;
    height: 400px;
    position: relative;
    margin: auto;
    border-radius: var(--bd_radius);
    overflow: hidden;
  }
  .img_slide {
    position: relative;
    width: auto !important;
    height: 100% !important;
    transform: translate(-25%, 0%) !important;
  }
  /**********   Nouveaux jeux, Promo et Jeux indépendants   **********/
  .myRow, .myRow.bloc_nav_produit {
    width: var(--responsiv_width) !important;
    height: fit-content !important;
    margin: 0 auto !important;
    margin-bottom: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 20px;
  }
  .myCol {
    position: relative;
    width: 100% !important;
  }
  .myCol video {
    position: relative !important;
    min-width: 110% !important;
    min-height: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  /**********   Coups de coeurs    **********/
  #coup_de_coeur_list {
    margin: auto !important;
    width: 95% !important;
  }
  #coup_de_coeur_list > div:first-child {
    width: 100% !important;
    flex-direction: column !important;
    gap: 15px;
  }
  #coup_de_coeur_list .produit_miniature {
    width: 100% !important;
  }
  .ui.cards, .ui.three.cards, .ui.three.doubling.cards {
    margin: 0 !important;
  }
  #coup_de_coeur_list .btn_text, #product_horizontal_list .btn_text {
    font-size: 1.1rem !important;
  }
  /**********   Evenement et tournois   **********/
  .bloc_evenement {
    width: var(--responsiv_width) !important;
    margin-inline: auto !important;
    margin-bottom: 30px !important;
  }
  .bloc_evenement > video {
    min-width: 800px !important;
    width: 110% !important;
    height: auto !important;
  }
  /**********   Navigation produit par catégorie   **********/
  .myCol2 {
    width: 100% !important;
    flex-direction: column-reverse !important;
    padding-left: 0 !important;
    height: fit-content !important;
  }
  .myCol2 > div {
    width: 100% !important;
  }
  .myCol2 > div:first-child {
    padding-left: 30px !important;
    padding-bottom: 30px;
  }
  .myCol2 > div:last-child {
    max-height: 90px;
    overflow: hidden;
  }
  .myCol2 img {
    min-height: 400px;
    min-width: 250px;
  }
  /**********   Catalogue produits   **********/
  .breadcrumb {
    width: 100%;
  }
  #filtre_menu_btn {
    width: 50px;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7%;
    z-index: 15;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #f4f4f4;
    -webkit-box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }
  #close_filtre_btn {
    display: block;
    position: relative;
    left: 95%;
    transform: translateX(-100%);
    border-radius: 6px;
    border: 1px solid #f4f4f4;
    -webkit-box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }
  #close_filtre_btn .cross_icon {
    fill: #000;
  }
  #close_filtre_btn:hover .cross_icon {
    fill: var(--cta_hover_color);
  }
  .filtre_icon {
    display: block;
    margin: 0 auto;
    width: 30px;
  }
  /* Sidebar */
  #product_sidebar {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 16;
    transform: translateX(0%);
    opacity: 1;
    transition: var(--transition_300ms);
    height: 100vh;
  }
  #product_sidebar.hidden {
    transform: translateX(-101%);
    opacity: 0;
  }
  #a_propos > div {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
  #a_propos > div > div {
    width: 45%;
  }
  #a_propos .portrait {
    width: 45%;
  }
  #filtreForm hr, #a_propos hr {
    width: 98% !important;
  }
  /* liste produit */
  #products {
    display: flex !important;
    justify-content: center;
    width: 95% !important;
  }
  #products.three.cards {
    margin: 0 auto !important;
    gap: 10px !important;
  }
  #products .produit_miniature {
    width: 45% !important;
  }
  .produit_achat {
    padding: 0 15px;
  }
  .produit_achat > div {
    display: flex;
    flex-direction: column !important;
    height: 80px;
  }
  .bloc_prix {
    flex-direction: row;
    width: 100%;
    justify-content: end;
    gap: 10px;
  }
  .produit_prix {
    font-size: 1.4rem;
  }
  .sylius-product-original-price.produit_prix {
    font-size: 16px;
  }
  .content.bloc_achat {
    min-height: 195px;
  }
  .produit_titre {
    font-size: 17px !important;
    padding: 0 15px !important;
  }
  #products .cta_btn.rupture {
    padding-left: 5px;
    width: 100% !important;
    gap: 0 !important;
  }
  #products .cta_btn.rupture .btn_text {
    margin: 0 !important;
  }
  #products .btn_text {
    left: 10%;
    position: relative;
    font-size: 11px;
    line-height: normal;
    width: 70%;
  }
  #pagination {
    justify-content: center;
    padding: 10px;
    flex-wrap: wrap;
    width: 90%;
    gap: 5px;
  }
  /**********   Fiche produit   **********/
  .breadcrumb {
    top: 0;
    margin: 20px 0 !important;
  }
  #fiche_row {
    display: flex !important;
    flex-direction: column;
    width: 95% !important;
    margin: 0 auto !important;
  }
  .mainImage_container {
    height: auto;
  }
  .mainImage {
    height: auto;
  }
  #info_preview_container {
    flex-wrap: wrap;
    height: fit-content !important;
    gap: 5px;
    padding: 10px !important;
  }
  #sylius-product-adding-to-cart {
    flex-direction: column;
    gap: 30px;
    width: 100%;
  }
  #sylius-product-adding-to-cart .required.field {
    width: 100%;
  }
  #ajoutPanier.cta_btn {
    width: 100% !important;
  }
  .bloc_detail_produit .item {
    flex: unset !important;
  }
  /**********   Panier   **********/
  .ui.header > .icon + .content {
    padding: 0 30px !important;
  }
  .single.line {
    white-space: unset !important;
  }
  #sylius-cart-items thead {
    display: none !important;
  }
  #sylius-cart-items tbody > tr {
    display: flex !important;
    flex-wrap: wrap;
  }
  #sylius-cart-items td {
    width: 50% !important;
  }
  #sylius-cart-items td:last-child {
    font-weight: 700;
    display: flex !important;
    gap: 15px;
  }
  #sylius-cart-items .sylius-unit-price {
    font-size: 2rem;
    display: block;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
  #sylius-coupon .ui.coupon.action.input {
    flex-direction: column;
    width: 100%;
  }
  #sylius-save {
    flex: fit-content !important;
  }
  #sylius-cart-update {
    width: 100%;
  }
  h4.ui.horizontal.section.divider.header {
    white-space: unset !important;
  }
  /**********   Formulaire cookie   **********/
  #cookie_dialog {
    width: 100%;
  }
  /**********   Conditions generales ventes  **********/
  .cgv p, .cgv h2, .cgv h3 {
    padding: 0 15px;
  }
  .cgv ul, .cgv ol {
    padding: 30px;
  }
  /**********  page a propos  **********/
  #a_propos_page article {
    padding: 15px;
  }
  #a_propos_page h2 {
    max-inline-size: 50ch;
    text-wrap: balance;
  }
  #a_propos_page #presentation div {
    padding: 15px;
    flex-direction: column;
  }
  /**********   Footer   **********/
  #footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pre-footer {
    width: var(--responsiv_width) !important;
  }
}
/*
******************************************************************************

                                Global 

******************************************************************************
*/
html, body {
  height: initial !important;
}

body {
  background: linear-gradient(#fff, var(--bas_degrade_body));
}

.flex_end {
  justify-content: flex-end !important;
}

.align_center {
  align-items: center !important;
}

.round_corner {
  border-radius: var(--bd_radius) !important;
}

.margin_0 {
  margin: 0 !important;
}

.margin_0_center {
  margin: 0 auto !important;
}

.padding_30 {
  padding: 30px !important;
}

.bg_white {
  background: #fff !important;
}

.bolder {
  font-weight: bolder !important;
}

a {
  text-decoration: none;
}

.ui.container.wrapper {
  width: var(--site_width) !important;
}

form .button {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 50px !important;
}

form .button::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  inset: 0;
  margin: auto;
  opacity: 0;
  transition: all 0.35s ease;
  background: var(--cta_positif_action);
}

form .button:hover:before {
  transform: scale(11);
  opacity: 1;
}

.ui.breadcrumb {
  position: relative;
}

button[type=submit] {
  border-radius: 50px !important;
}

/*
******************************************************************************

                                Header 

******************************************************************************
*/
.top-menu_text {
  display: inline-block;
  font-weight: 700;
  color: #fff;
  margin: 0 !important;
  letter-spacing: 1px;
}

.top-menu__link {
  text-decoration: underline;
}

.pusher > #menu {
  width: 100% !important;
  background-image: linear-gradient(68.3deg, var(--rouge_debut_gradient) 0.4%, var(--doranco_rouge) 100.2%) !important;
  /* background-image: linear-gradient( 68.3deg,  rgba(245,177,97,1) 0.4%, rgba(236,54,110,1) 100.2% ) !important; */
}

#menu::after {
  width: 100% !important;
  background: transparent !important;
  height: 0 !important;
}

#menu > .top-menu_wrapper {
  width: min(100% - 3rem, var(--site_width));
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header {
  width: 100%;
  background: #fff;
}

header > div {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: var(--site_width);
}

header > div:first-child {
  top: 8px;
}

header > div > div {
  justify-content: space-between;
}

header > .ui.basic.segment {
  z-index: 10;
}

/***** Barre de recherche produit *****/
#products_search-bar {
  position: relative;
  left: 1.5%;
  width: 52%;
  height: 60px !important;
  margin: 0px !important;
  border-radius: 50px;
  border: 1px solid rgba(34, 36, 38, 0.15) !important;
  align-items: center;
}

#searchbar {
  margin: 0 !important;
}

#searchbarTextField {
  padding: 0 !important;
}

#product_user_input {
  border: none !important;
  font-size: 18px;
  height: 100%;
  background: transparent;
  padding: 0 20px;
}

#searchbarButtons button {
  width: 30px;
  height: 30px;
  background-color: transparent !important;
}

#search_clear_btn {
  border: none !important;
}

#search_clear_btn:hover {
  background: rgba(99, 99, 99, 0.1568627451) !important;
}

#searchbarButtons button i, #searchbarButtons a i {
  width: 30px !important;
  height: 30px !important;
  color: #000 !important;
}

#searchbarButtons button::before, #searchbarButtons a::before {
  background: rgba(99, 99, 99, 0.1568627451) !important;
}

/***** bouton panier *****/
header .right.aligned.column {
  display: flex !important;
  align-items: center;
}

#sylius-cart-button {
  position: relative;
  margin: 0 !important;
  padding: 20px 10px !important;
  border-radius: 50px !important;
  transition: var(--transition_300ms);
}

#sylius-cart-button:hover {
  color: #fff !important;
  background: var(--cta_positif_action) !important;
}

#cart_quantity {
  font-size: 13px;
  padding-top: 2px;
  background: red;
  font-weight: bolder;
  text-shadow: 1px 1px black;
  border-radius: 20px;
  height: 20px;
  width: 20px;
  top: -2px;
  color: #fff;
  position: absolute;
  left: 7px;
}

.btn_text {
  margin: 0 auto !important;
  letter-spacing: 1px !important;
  font-weight: bolder;
  font-family: var(--font_family) !important;
}

#coup_de_coeur_list .btn_text, #product_horizontal_list .btn_text {
  height: 100% !important;
}

/***** Liens de navigation *****/
#main_nav {
  margin-bottom: 0 !important;
}

#main_nav::before {
  box-shadow: none;
}

header a.item:hover {
  color: var(--cta_hover_color) !important;
}

.nav_link {
  font-weight: 700 !important;
  letter-spacing: 1px;
  transition: var(--transition_300ms) !important;
}

.nav_link::after {
  content: "";
  position: absolute;
  visibility: visible !important;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: var(--doranco_rouge);
  opacity: 1;
  transform: scale(0);
  transform-origin: center;
  transition: opacity 300ms, transform 300ms;
}

.nav_link:hover {
  color: var(--cta_hover_color) !important;
  background: none !important;
}

.nav_link:hover::after, .nav_link:focus::after {
  transform: scale(1);
}

#small_nav_heading, #bottom_nav {
  display: none;
}

.current_taxon {
  color: var(--cta_hover_color) !important;
  background: rgba(0, 0, 0, 0.03) !important;
}

/*
******************************************************************************

                                Body 

******************************************************************************
*/
#main_wrapper {
  margin-left: 0px !important;
  margin-right: 0px !important;
  margin-inline: auto !important;
}

/*
******************************************************************************

                                News et Banniere 

******************************************************************************
*/
.slider_container {
  width: var(--site_width);
  height: 400px;
  margin: 20px auto;
  display: flex;
  flex-direction: row;
  gap: 20px;
}

/* #slider */
/* Slideshow container */
.slider_droite {
  width: 100%;
  background: lightblue;
  border-radius: var(--bd_radius) !important;
}

.slideshow-container {
  width: 100%;
  height: 400px;
  position: relative;
  margin: auto;
  border-radius: var(--bd_radius);
  overflow: hidden;
  background: lightblue;
}

.img_slide {
  position: relative;
  transform: translateY(-17%);
  width: 100%;
  border-radius: var(--bd_radius);
}

/* Hide the images by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 3px 0 0 3px;
  user-select: none;
  background-color: rgba(0, 0, 0, 0.4);
}

.prev {
  border-radius: 0 50px 50px 0;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 50px 0 0 50px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* The dots/bullets/indicators */
.dot_container {
  position: relative;
  top: -55px;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 1;
  }
}
/*
******************************************************************************

                    Nouveaux jeux, Promo et Jeux indépendants

******************************************************************************
*/
.myRow {
  width: var(--site_width);
  height: 400px;
  margin: 30px auto;
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.myCol {
  position: relative;
  width: 33%;
  height: 400px;
  border-radius: var(--bd_radius);
}

.bloc_title {
  position: absolute;
  top: 50%;
  width: 100%;
  padding: 20px 0;
  border-radius: 0 0 var(--bd_radius) var(--bd_radius);
  font-size: 24px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 1px;
  z-index: 1;
  transform: translate(0%, -50%);
  transition: all 0.3s ease;
}

/* #cta_bouton */
.cta_btn {
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  color: #fff;
  line-height: normal;
  display: block;
  width: 200px;
  height: 40px;
  background: var(--cta_hover_color);
  border-radius: 50px !important;
  cursor: pointer;
  border: none;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  letter-spacing: 1px;
}

.cta_btn.accueil {
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 40px;
}

.cta_btn.accueil:hover {
  filter: brightness(1.25);
}

/* élements pour le hover effect du bouton */
.cta_btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  inset: 0;
  margin: auto;
  opacity: 0;
  transition: all 0.35s ease;
}

.cta_btn:hover {
  color: #fff !important;
}

.cta_btn:hover::before {
  transform: scale(11);
  opacity: 1;
}

/* filtre de contraste sur les blocs */
.black_filtre {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  border-radius: var(--bd_radius);
  opacity: 1;
  transition: all 0.35s ease;
}

.cta_btn.accueil:hover + .black_filtre {
  opacity: 0.1;
}

/* #nouveaux jeux */
#nouveaux_jeux {
  background-size: 130%;
  background-position: 50%;
  transition: all 0.3s ease;
}

#nouveaux_jeux .cta_btn {
  background-color: var(--nouveaute_color);
}

/* #promotion */
#promotions {
  background-size: 130%;
  background-position: 50%;
  transition: all 0.3s ease;
}

#promotions .cta_btn {
  background-color: var(--promo_color);
}

/* #jeux indes */
#nouveaux_jeux, #promotions, #jeux_indes {
  overflow: hidden;
}

#jeux_indes .cta_btn {
  background-color: var(--inde_color);
}

.myCol video {
  position: relative;
  min-width: 100%;
  height: 110%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: var(--bd_radius) v;
  z-index: -10;
}

/*
******************************************************************************

                            Carousel Coups de coeur

******************************************************************************
*/
#coup_de_coeur_titre {
  margin-bottom: 0 !important;
}

#coup_de_coeur_titre::after {
  content: none;
}

#carousel-wrapper {
  /*background: lightcoral;*/
  border-radius: var(--bd_radius);
}

#carousel-wrapper .slick-slide {
  width: 400px !important;
}

#carousel {
  margin-bottom: 50px !important;
}

.carousel-right {
  right: 0 !important;
}

.carousel-left {
  left: 0 !important;
}

#carousel-left, #carousel-right {
  background: rgba(0, 0, 0, 0.3215686275) !important;
}

#coup_de_coeur_list {
  margin-bottom: 30px;
  border-radius: var(--bd_radius);
}

/*
******************************************************************************

                            Evenement et tournois

******************************************************************************
*/
/* #evenement et tournois */
.bloc_evenement {
  position: relative;
  width: var(--site_width);
  height: 400px;
  border-radius: var(--bd_radius);
  background: transparent;
  overflow: hidden;
  margin: 0 auto;
}

.bloc_evenement .cta_btn {
  background-color: var(--event_color);
}

.bloc_evenement > video {
  position: relative;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: var(--bd_radius);
  z-index: -10;
}

/*
******************************************************************************

                        Navigation produit par Taxon

******************************************************************************
*/
.bloc_nav_produit {
  height: 330px !important;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.myCol2 {
  display: flex;
  flex-direction: row;
  position: relative;
  width: 590px;
  height: 330px;
  padding-left: 30px;
  background: #fff;
  border-radius: var(--bd_radius);
  overflow: hidden;
}

.myCol2 hr {
  width: 90%;
  border: 1px solid var(--cta_hover_color);
}

.myCol2 h2 {
  padding: 20px 0;
  font-size: 28px;
  font-weight: 500;
  text-align: start;
  letter-spacing: 1px;
  margin-bottom: 0 !important;
}

.myCol2 > div {
  width: 50%;
  overflow: hidden;
}

.myCol2 ul {
  padding-top: 20px;
  padding-left: 20px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.myCol2 ul > li {
  width: 100%;
}

.myCol2 ul > li > a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #000;
  font-size: 16px;
  font-family: var(--font_family);
  transition: all 0.3s ease;
}

.myCol2 ul > li > a:hover {
  color: var(--cta_hover_color) !important;
}

.myCol2 img {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

/*
******************************************************************************

                            CSS Catalogue produits

******************************************************************************
*/
/*
******************************************************************************

                            Vertical menu des Filtres 

******************************************************************************
*/
@media (min-width: 768px) {
  [data-route=sylius_shop_product_index] .ui.fluid.vertical.menu {
    transform: translateY(50px);
  }
}
.taxon_title {
  text-align: center;
  padding: 18px 0 !important;
  border: none !important;
}

/* #filtres */
.catalogue_col_filtre {
  max-width: 300px;
  min-height: 400px;
}

#filtreForm {
  padding-top: 10px;
}

#filtreForm fieldset {
  border: none;
}

#filtreForm .filtre_bloc_titre {
  display: flex;
  justify-content: space-between;
  padding-right: 35px;
  padding-bottom: 10px;
}

.arrow_icon {
  width: 15px;
  height: 15px;
  transform: rotate(0deg);
  transition: var(--transition_300ms);
}

.arrow_icon.open {
  transform: rotate(90deg);
}

#filtreForm legend {
  font-size: 20px;
  font-weight: 400;
}

#filtreForm hr, #a_propos hr {
  margin-bottom: 10px;
  width: 85%;
  border: 1px solid var(--cta_hover_color);
}

#filtreForm fieldset .filtres_container {
  margin: 20px auto;
  padding: 0 18px;
  border: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
  opacity: 1;
  transition: var(--transition_300ms);
}

.filtres_container.hidden {
  display: none !important;
  opacity: 0;
}

#filtreForm .filtre {
  font-size: 1rem;
  color: rgb(95, 94, 94);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.filtre > input:checked + label {
  color: var(--cta_color);
}

.filtre .label {
  font-size: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  transition: all 0.35s ease;
}

.filtre:hover .label {
  color: var(--cta_hover_color);
}

/* #filtre_bouton */
#appliquerFiltres.cta_btn {
  position: relative;
  width: 100%;
  margin: 20px auto;
}

/* #filtre_reset_bouton */
.cta_btn.filtre_reset {
  position: relative;
  width: 80%;
  line-height: 40px;
  margin: 0 auto !important;
}

#a_propos {
  background: #fff;
  border-radius: var(--bd_radius);
  margin-bottom: 50px;
}

#a_propos > div {
  display: flex;
  gap: 20px;
}

#a_propos > div > div {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#a_propos .titre_bloc {
  padding-top: 18px;
  padding-left: 18px;
  gap: 0;
}

#a_propos > div > div > div {
  padding: 0 18px;
}

#a_propos h3 {
  font-size: 20px !important;
  font-weight: 400 !important;
  font-family: var(--font_family) !important;
}

#a_propos .portrait {
  display: block;
}

#a_propos h4 {
  margin: 0 !important;
  font-size: 16px !important;
}

#a_propos .competence_container {
  width: 100%;
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}

#a_propos .competence_container .logo_competence {
  width: 30px;
}

#a_propos p {
  color: #000 !important;
  font-size: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  transition: all 0.35s ease;
}

#a_propos a.cta_btn {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background: var(--news_color) !important;
  line-height: 40px;
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  margin: 20px 0 !important;
  width: 90%;
}

#a_propos a.cta_btn::before {
  background: #55adff;
}

#a_propos a.cta_btn p {
  color: #fff !important;
}

#a_propos a.cta_btn .nav_icon {
  fill: #fff;
}

/*
******************************************************************************

                  Liste des produits et miniature produit 

******************************************************************************
*/
.ui.segment.search_bar {
  margin-top: 94px;
}

.header.item.taxon_title {
  font-size: 20px !important;
}

/*#liste_produit */
#products {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)) !important;
}

/* #bloc produit */
.bloc_produit {
  margin: 0 auto !important;
  max-width: 430px !important;
  position: relative;
  margin-bottom: 30px;
  border-radius: var(--bd_radius) !important;
  background: #fff !important;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease !important;
  overflow: hidden;
  border: 1px solid #f4f4f4 !important;
}

.bloc_produit:hover {
  -webkit-box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2) !important;
}

.bloc_produit > a {
  text-decoration: none;
  color: black;
  border-radius: var(--bd_radius);
}

.bloc_produit .rate_bar {
  position: absolute;
  top: 10px;
  left: 10px;
  justify-content: center;
  z-index: 20;
}

.produit_miniature:hover {
  -webkit-box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

/****** Bouton "en savoir plus" ******/
.cta_btn.product_btn {
  line-height: 40px;
  position: absolute;
  border-radius: 50px !important;
  transition: all 0.3s ease;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  background-color: var(--cta_color_transparent1) !important;
  opacity: 0;
}

.cta_btn.product_btn:hover {
  color: #fff !important;
}

.bloc_produit:hover .cta_btn.product_btn {
  opacity: 1;
}

/* Partie basse du bloc produit */
.ui.cards > .card > .content, .ui.card > .content.bloc_achat {
  height: 170px;
  background-color: #f4f4f4;
}

.content > a {
  text-align: center;
}

.produit_miniature {
  width: 100%;
  overflow: hidden;
  border-radius: var(--bd_radius) var(--bd_radius) 0 0;
}

/* #image_produit */
img.ui.bordered.image {
  border: none;
}

.miniature_img {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 25px 0;
  /*background: lightcyan;*/
  transition: all 0.3s ease;
}

.miniature_img img {
  position: relative;
  left: 50%;
  transition: all 0.3s ease;
  transform: scale(1) translateX(-50%);
  border-radius: var(--bd_radius);
}

.produit_achat {
  position: absolute;
  bottom: 20px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}

.produit_achat > div {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: end;
}

/* #titre_produit */
.produit_titre {
  color: #000;
  text-decoration: none;
  text-align: start !important;
  font-family: var(--font_family) !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  letter-spacing: 1px !important;
}

.bloc_produit:hover .produit_titre {
  color: var(--cta_hover_color) !important;
}

.bloc_prix {
  display: flex;
  align-items: baseline;
}

.produit_prix {
  color: #000;
  text-align: center;
}

.ui.cards > .card > .content p, .ui.card > .content p {
  margin: -0.3em 0em 0.5em;
}

/* #action_utilisateur */
.cta_btn.catalogue {
  position: relative;
  width: 55%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-top: 3px;
  background: var(--cta_achat_color);
}

.cta_btn.catalogue.rupture {
  background: var(--cta_hover_color);
  left: 0 !important;
  transform: none !important;
}

.cta_btn.catalogue:before {
  background-color: var(--cta_positif_action);
}

.cta_btn.catalogue > p {
  font-size: 14px;
  font-family: var(--font_family);
}

.cta_btn.catalogue > i {
  transform: translateY(-20%);
}

#product_horizontal_list .cta_btn.catalogue {
  width: 37%;
}

#product_horizontal_list button > p.btn_text {
  display: none;
}

#pagination {
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50px !important;
}

#pagination .active.item {
  color: var(--cta_hover_color) !important;
  padding-top: 20px !important;
}

#pagination a:hover {
  color: var(--cta_hover_color) !important;
}

#pagination .item:first-child {
  border-radius: 50px 0 0 50px;
}

#pagination .item:last-child {
  border-radius: 0 50px 50px 0;
}

.produit_achat #sylius-product-selecting-variant {
  border: none !important;
  background: transparent !important;
  width: 100% !important;
  transform: none;
  box-shadow: none !important;
}

.produit_achat #sylius-product-adding-to-cart {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  height: fit-content;
}

.produit_achat #sylius-product-adding-to-cart > .required.field {
  display: none;
}

.produit_achat #sylius-product-adding-to-cart #ajoutPanier {
  width: 100% !important;
  background: var(--cta_achat_color) !important;
}

.produit_achat #sylius-product-adding-to-cart #ajoutPanier > i {
  color: #fff;
}

/*
******************************************************************************

                            Fiche produit

******************************************************************************
*/
.fiche_row {
  background: #fff !important;
  border-radius: var(--bd_radius) !important;
  padding: 30px 45px 60px !important;
  border: 1px solid #f4f4f4 !important;
}

[data-route=sylius_shop_product_show] .ui.two.column.stackable.grid {
  display: block !important;
  padding: 30px 45px 60px !important;
}

.ui.breadcrumb a {
  color: rgba(0, 0, 0, 0.87) !important;
}

/*
******************************************************************************

                            Image et miniature 

******************************************************************************
*/
/* #image */
#bloc_images {
  width: var(--produit_info_bloc_width) !important;
  min-height: 460px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.mainImage_container {
  position: relative;
}

.mainImage_container {
  width: auto !important;
}

.mainImage {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: auto !important;
  border-radius: var(--bd_radius) !important;
  transition: all 0.3s ease;
}

.miniature_container {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
}

.miniature {
  width: auto !important;
  height: 70px !important;
  border-radius: var(--bd_radius) !important;
}

/*
******************************************************************************

                            Info sur le jeu 

******************************************************************************
*/
/* #info_jeu */
.bloc_infoPrincipales {
  flex-basis: auto !important;
  border-radius: var(--bd_radius);
  width: var(--produit_info_bloc_width) !important;
  padding: 0 !important;
  background: #fff !important;
}

.userIcon {
  width: 35px;
  height: 35px;
  margin-right: 5px;
}

/***** Stock et livraison *****/
#bloc_stock_and_shipping {
  padding: 20px 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fiche_produit_stock {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}

.fiche_produit_stock_text {
  font-weight: bolder !important;
  font-size: 14px;
  text-align: start;
  line-height: normal;
  color: var(--cta_positif_action);
  margin: 0 !important;
}

.stock_icon {
  width: 20px;
  height: 20px;
  fill: var(--cta_positif_action);
}

/***** Short Description *****/
.produit-description {
  font-size: 14px;
}

#info_preview_container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 30px auto !important;
  margin-bottom: 0;
  background: var(--dji_grey);
  border-radius: 50px;
  height: 40px;
}

.info_preview {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 30px;
  gap: 10px;
  padding: 3px;
  border-radius: 5px;
}

.info_preview > p {
  font-size: 12px;
}

.infoIcon {
  width: 20px;
  height: 20px;
}

.bloc_infoPrincipales hr {
  margin: 20px auto;
  border: 1px solid #ccc;
  width: 80%;
}

/*
******************************************************************************

                                Achat action utilisateur  

******************************************************************************
*/
/* #achat */
#achat {
  display: flex;
  flex-direction: row;
}

#achat > div {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: 2px;
}

.fiche_text_achat {
  margin: 10px 0;
}

/***** Bloc Prix *****/
#bloc_price {
  padding-top: 0px !important;
}

.fiche_produit_prix {
  color: #000;
  align-items: end;
  display: flex !important;
  padding: 0;
  justify-content: end;
  gap: 7px;
}

#product-original-price {
  color: red;
}

/***** Quantité *****/
#sylius-product-adding-to-cart {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#sylius-product-adding-to-cart .required.field {
  gap: 10px;
  display: flex;
  align-items: center;
  margin: 0 !important;
}

#sylius-product-adding-to-cart .required.field > label {
  margin: 0 !important;
  padding: 0 !important;
}

#sylius_add_to_cart_cartItem_quantity {
  width: 100px !important;
}

.mail_icon {
  width: 16px;
  height: 16px;
  fill: #fff;
  vertical-align: sub;
}

.fiche_produit_stock.rupture {
  position: relative;
  height: 40px;
  /*top:-7%;  A revoir */
}

.stock_icon.rupture, .fiche_produit_stock_text.rupture {
  color: #ff002a;
  fill: red;
}

/***** Bouton ajouter au panier *****/
#ajoutPanier.cta_btn {
  position: relative !important;
  display: block !important;
  height: 40px !important;
  border-radius: 50px !important;
  background: var(--cta_achat_color);
  transition: var(--transition_300ms);
  margin: 0 !important;
  line-height: 13px !important;
}

#ajoutPanier.cta_btn:hover {
  color: #fff !important;
}

#ajoutPanier.cta_btn::before {
  background: var(--cta_positif_action);
}

.cta_btn.rupture {
  position: relative !important;
  left: 100%;
  transform: translateX(-100%);
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 0 10px !important;
}

.cta_btn.rupture::before {
  background: var(--rouge_debut_gradient);
  color: #fff !important;
}

.ui.button.primary, .ui.basic.button.primary, .ui.labeled.button.primary, .ui.labeled.icon.button.primary, .buttons .ui.labeled.icon.button.primary, .ui.button.green, .ui.basic.button.green, .ui.labeled.button.green, .ui.labeled.icon.button.green, .buttons .ui.labeled.icon.button.green, .ui.button.submit, .ui.basic.button.submit, .ui.labeled.button.submit, .ui.labeled.icon.button.submit, .buttons .ui.labeled.icon.button.submit {
  background: var(--cta_achat_color) !important;
  border: none !important;
}

#sylius-product-adding-to-cart .ui.button, #sylius-product-adding-to-cart .ui.basic.button, #sylius-product-adding-to-cart .ui.labeled.button, #sylius-product-adding-to-cart .buttons .ui.labeled.icon.button {
  background: var(--cta_achat_color);
  border-radius: 50px !important;
  border: none !important;
  padding-left: 24px;
}

.primary.button.cta {
  background: var(--cta_hover_color) !important;
}

/*
******************************************************************************

                            Description et Fiche technique

******************************************************************************
*/
.bloc_detail_produit {
  background: #fff !important;
  border-radius: var(--bd_radius) var(--bd_radius) 0 0 !important;
  border: 1px solid #f4f4f4;
  border-bottom: none !important;
}

.bloc_detail_produit::before {
  background: none !important;
}

.bloc_detail_produit > a:hover {
  color: #000 !important;
}

.bloc_detail_produit > a.active {
  border-color: #000 !important;
}

.rubrique {
  padding: 30px 40px !important;
}

#sylius-product-attributes {
  border: none;
}

#sylius-product-attributes tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.03);
}

td.sylius-product-attribute-name {
  background: none !important;
}

.ui.definition.table td:nth-child(2) {
  border-left: none;
}

.ui.table tr td {
  border: none !important;
}

/*
******************************************************************************

                                Page Panier

******************************************************************************
*/
#sylius-cart-clear:hover {
  color: #fff !important;
}

#sylius-cart-clear::before {
  background: red !important;
}

#sylius-cart-validate-payment {
  border-radius: 50px !important;
}

#sylius-cart-validate-payment:hover {
  color: #fff !important;
}

#sylius-cart-validate-payment::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  inset: 0;
  margin: auto;
  opacity: 0;
  transition: all 0.35s ease;
  background: var(--cta_positif_action);
}

#sylius-cart-validate-payment:hover::before {
  transform: scale(11);
  opacity: 1;
}

/*
******************************************************************************

                                Page CGV

******************************************************************************
*/
.cgv a {
  color: black !important;
}

.cgv h1 {
  margin: 40px auto;
  text-align: center;
}

.cgv h2 {
  font-size: 24px;
}

/*
******************************************************************************

                                Page a propos

******************************************************************************
*/
#a_propos_page h1 {
  margin: 20px auto;
  text-align: center;
}

#a_propos_page h2 {
  font-size: 24px;
  max-inline-size: 50ch;
  text-wrap: balance;
}

#a_propos_page .portrait {
  display: block;
  width: 300px;
  margin: 20px auto;
}

#a_propos_page .logo_competence {
  display: block;
  margin: 20px auto;
  max-width: 100%;
}

#a_propos_page .logo_competence.magento {
  max-height: 100px;
}

#a_propos_page .logo_competence.sylius {
  max-height: 150px;
}

#a_propos_page p {
  font-family: var(--font_family);
  font-size: 18px;
  letter-spacing: 1px;
  font-weight: 400;
}

#a_propos_page #presentation div {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 30px;
}

#a_propos_page .screenshot {
  width: 100%;
}

/*
******************************************************************************

                                Formulaire cookie

******************************************************************************
*/
#cookie_dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border-radius: var(--bd_radius);
  padding: 20px;
  border: 1px solid;
}

dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.3019607843);
}

/*
******************************************************************************

                                Formulaire Inscription

******************************************************************************
*/
.mdp_icon {
  width: 30px;
  height: 30px;
}

.mdp_icon.hidden {
  display: none;
}

#mdp_regex_msg {
  display: none;
}

#mdp_regex_msg .invalid {
  color: red;
}

#mdp_regex_msg .valid {
  color: green;
}

#mdp_show_input_box {
  display: flex;
  align-items: center;
  gap: 10px;
}

/*
******************************************************************************

                                    Footer

******************************************************************************
*/
#footer {
  background: var(--doranco_bg) !important;
}

#footer .ui.inverted.divided.equal.height.stackable.grid {
  justify-content: center;
}

.pre-footer {
  max-width: 1200px;
  background-image: linear-gradient(68.3deg, var(--rouge_debut_gradient) 0.4%, var(--doranco_rouge) 100.2%) !important;
  border-radius: var(--bd_radius) !important;
  margin-bottom: 60px !important;
}

.pre-footer strong {
  letter-spacing: 1px;
}

.pre-footer strong + div {
  color: #fff !important;
  letter-spacing: 1px;
  font-weight: bolder;
}

/* Slide in */
#footer .link.list > a {
  display: block;
  width: fit-content !important;
  text-decoration: none;
  letter-spacing: 1px;
  color: #fff !important;
  display: block;
  position: relative;
  overflow: hidden;
}

#footer .link.list > a::after {
  content: "";
  visibility: visible !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: var(--doranco_rouge);
  opacity: 1;
  transform: translate3d(-101%, 0, 0);
  transition: opacity 300ms, transform 300ms;
}

#footer .link.list > a:hover::after,
#footer .link.list > a:focus::after {
  transform: translate3d(0, 0, 0);
}

.doranco_link {
  display: block;
  width: 200px;
  margin-top: 50px;
  margin-bottom: 6px;
  margin-inline: auto;
}

.doranco_logo {
  max-width: 100%;
}

#copyright {
  padding-top: 5px !important;
  margin: 0 !important;
  margin-inline: auto;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwUEo7O0FBdVBBO0VBQ0k7RUFDQTtBQXBQSjs7QUF1UEE7RUFDSTtBQXBQSjs7QUF1UEE7RUFDSTtBQXBQSjs7QUF1UEE7Ozs7OztDQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBclBKOztBQXdQQTtFQUNJO0FBclBKOztBQXdQQTtFQUNJO0VBQ0E7RUFDQTtBQXJQSjs7QUF3UEE7RUFDSTtFQUNBO0VBQ0E7QUFyUEo7O0FBd1BBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXJQSjs7QUF3UEE7RUFDSTtFQUNBO0FBclBKOztBQXdQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBclBKOztBQXdQQTtFQUNJO0FBclBKOztBQXdQQTtFQUNJO0FBclBKOztBQXdQQTtFQUNJO0FBclBKOztBQXdQQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXRQSjs7QUF5UEE7RUFDSTtBQXRQSjs7QUF5UEE7RUFDSTtBQXRQSjs7QUF5UEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdFBKOztBQXlQQTtFQUNJO0VBQ0E7RUFDQTtBQXRQSjs7QUF5UEE7RUFDSTtBQXRQSjs7QUF5UEE7RUFDSTtBQXRQSjs7QUF5UEE7RUFDSTtFQUNBO0VBQ0E7QUF0UEo7O0FBeVBBO0VBQ0k7QUF0UEo7O0FBeVBBO0FBRUE7RUFDSTtFQUNBO0FBdlBKOztBQTBQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF2UEo7O0FBMFBBO0VBQ0k7RUFDQTtBQXZQSjs7QUEwUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF2UEo7O0FBMFBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF2UEo7O0FBMFBBO0VBQ0k7QUF2UEo7O0FBMFBBO0FBRUE7RUFDSTtBQXhQSjs7QUEyUEE7RUFDSTtBQXhQSjs7QUEyUEE7RUFDSTtBQXhQSjs7QUEyUEE7RUFDSTtFQUNBO0VBQ0E7QUF4UEo7O0FBMlBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeFBKOztBQTJQQTtFQUNJO0VBQ0E7QUF4UEo7O0FBMlBBO0VBQ0k7QUF4UEo7O0FBMlBBO0VBQ0k7QUF4UEo7O0FBMlBBO0VBQ0k7RUFDQTtBQXhQSjs7QUEyUEE7Ozs7OztDQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7QUF6UEo7O0FBNFBBOzs7Ozs7Q0FBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMVBKOztBQTZQQTtBQUNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QUExUEo7O0FBNlBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExUEo7O0FBNlBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUExUEo7O0FBNlBBO0FBQ0E7RUFDSTtBQTFQSjs7QUE2UEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMVBKOztBQTZQQTtFQUNJO0FBMVBKOztBQTZQQTtBQUNBO0VBQ0k7RUFDQTtBQTFQSjs7QUE2UEE7QUFDQTtFQUNJO0FBMVBKOztBQThQQTtBQUNBO0VBQ0k7RUFDQTtBQTNQSjs7QUE4UEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBM1BKOztBQThQQTtFQUNJO0FBM1BKOztBQThQQTtBQUNBO0VBQ0k7RUFDQTtBQTNQSjs7QUE4UEE7RUFDSTtJQUFNO0VBMVBSO0VBMlBFO0lBQUk7RUF4UE47QUFDRjtBQTBQQTs7Ozs7O0NBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpQSjs7QUE0UEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXpQSjs7QUE0UEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpQSjs7QUE0UEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBelBKOztBQTRQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF6UEo7O0FBNFBBO0VBQ0k7QUF6UEo7O0FBNFBBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTFQSjs7QUE2UEE7RUFDSTtBQTFQSjs7QUE2UEE7RUFDSTtFQUNBO0FBMVBKOztBQTZQQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMVBKOztBQTZQQTtFQUNJO0FBMVBKOztBQTZQQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FBMVBKOztBQTZQQTtFQUNJO0FBMVBKOztBQTZQQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FBMVBKOztBQTZQQTtFQUNJO0FBMVBKOztBQTZQQTtBQUVBO0VBQ0k7QUEzUEo7O0FBOFBBO0VBQ0k7QUEzUEo7O0FBOFBBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEzUEo7O0FBOFBBOzs7Ozs7Q0FBQTtBQU9BO0VBQ0k7QUEzUEo7O0FBOFBBO0VBQ0k7QUEzUEo7O0FBOFBBO0VBQ0k7RUFDQTtBQTNQSjs7QUE4UEE7RUFDSTtBQTNQSjs7QUE4UEE7RUFDSTtBQTNQSjs7QUE4UEE7RUFDSTtBQTNQSjs7QUE4UEE7RUFDSTtBQTNQSjs7QUE4UEE7RUFDSTtBQTNQSjs7QUE4UEE7RUFDSTtFQUNBO0FBM1BKOztBQThQQTs7Ozs7O0NBQUE7QUFRQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1UEo7O0FBK1BBO0VBQ0k7QUE1UEo7O0FBK1BBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1UEo7O0FBK1BBOzs7Ozs7Q0FBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE3UEo7O0FBZ1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBN1BKOztBQWdRQTtFQUNJO0VBQ0E7QUE3UEo7O0FBZ1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBN1BKOztBQWdRQTtFQUNJO0VBQ0E7QUE3UEo7O0FBZ1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBN1BKOztBQWdRQTtFQUNJO0FBN1BKOztBQWdRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE3UEo7O0FBZ1FBO0VBQ0k7QUE3UEo7O0FBZ1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE3UEo7O0FBZ1FBOzs7Ozs7Q0FBQTtBQVFBOzs7Ozs7Q0FBQTtBQVFBO0VBQ0k7SUFDSTtFQS9QTjtBQUNGO0FBa1FBO0VBQ0k7RUFDQTtFQUNBO0FBaFFKOztBQW1RQTtBQUNBO0VBQ0k7RUFDQTtBQWhRSjs7QUFtUUE7RUFDSTtBQWhRSjs7QUFtUUE7RUFDSTtBQWhRSjs7QUFvUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWpRSjs7QUFvUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWpRSjs7QUFvUUE7RUFDSTtBQWpRSjs7QUFvUUE7RUFDRTtFQUNBO0FBalFGOztBQW9RQTtFQUNFO0VBQ0E7RUFDQTtBQWpRRjs7QUFvUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBalFKOztBQW9RQTtFQUNJO0VBQ0E7QUFqUUo7O0FBb1FBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBalFGOztBQW9RQTtFQUNFO0FBalFGOztBQW9RQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFqUUo7O0FBb1FBO0VBQ0U7QUFqUUY7O0FBb1FBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QUFqUUY7O0FBb1FBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQWpRRjs7QUFvUUE7RUFDSTtFQUNBO0VBQ0E7QUFqUUo7O0FBb1FBO0VBQ0k7RUFDQTtBQWpRSjs7QUFvUUE7RUFDSTtFQUNBO0VBQ0E7QUFqUUo7O0FBb1FBO0VBQ0k7RUFDQTtFQUNBO0FBalFKOztBQW9RQTtFQUNJO0FBalFKOztBQW9RQTtFQUNJO0VBQ0E7RUFDQTtBQWpRSjs7QUFvUUE7RUFDSTtBQWpRSjs7QUFvUUE7RUFDSTtFQUNBO0FBalFKOztBQW9RQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWpRSjs7QUFvUUE7RUFDSTtBQWpRSjs7QUFvUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFqUUo7O0FBb1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWpRSjs7QUFvUUE7RUFDSTtBQWpRSjs7QUFxUUE7RUFDSTtBQWxRSjs7QUFzUUE7RUFDSTtBQW5RSjs7QUF1UUE7Ozs7OztDQUFBO0FBUUE7RUFDSTtBQXJRSjs7QUF3UUE7RUFDSTtBQXJRSjs7QUF3UUE7QUFDQTtFQUNJO0FBclFKOztBQXdRQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFyUUo7O0FBd1FFO0VBQ0U7RUFDQTtBQXJRSjs7QUF3UUU7RUFDRTtFQUNBO0VBQ0E7QUFyUUo7O0FBd1FFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXJRSjs7QUF5UUE7RUFDRTtFQUNBO0FBdFFGOztBQXlRQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF2UUo7O0FBMFFBO0VBQ0k7QUF2UUo7O0FBMFFBO0VBQ0k7QUF2UUo7O0FBMFFBO0FBRUE7RUFDSTtFQUNBO0FBeFFKOztBQTJRQTtFQUNFO0FBeFFGOztBQTJRQTtFQUNJO0VBQ0E7RUFDQTtBQXhRSjs7QUE0UUE7QUFDQTtFQUNJO0FBelFKOztBQTRRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpRSjs7QUE0UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBelFKOztBQTZRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMVFGOztBQTZRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBMVFGOztBQTZRQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExUUY7O0FBNlFBO0VBQ0k7QUExUUo7O0FBNlFBO0VBQ0k7RUFDQTtBQTFRSjs7QUE2UUE7RUFDRTtFQUNBO0FBMVFGOztBQTZRQTtFQUNJO0FBMVFKOztBQTZRQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNRRjs7QUE4UUE7RUFDSTtFQUNBO0VBQ0E7QUEzUUo7O0FBOFFBO0VBQ0U7QUEzUUY7O0FBOFFBO0VBQ0k7RUFDQTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtFQUNBO0VBQ0E7QUEzUUo7O0FBOFFBO0VBQ0k7RUFDQTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBM1FKOztBQThRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNRSjs7QUE4UUE7RUFDSTtBQTNRSjs7QUE4UUE7RUFDSTtFQUNBO0FBM1FKOztBQThRQTtFQUNJO0FBM1FKOztBQThRQTs7Ozs7O0NBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBNVFKOztBQStRQTtFQUNJO0VBQ0E7QUE1UUo7O0FBK1FBO0VBQ0k7QUE1UUo7O0FBK1FBOzs7Ozs7Q0FBQTtBQVNBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOVFKOztBQWlSQTtFQUNJO0FBOVFKOztBQWlSQTtFQUNJO0FBOVFKOztBQWlSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtB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RUFDQTtFQUNBO0FBdlNKOztBQTBTQTtFQUNJO0FBdlNKOztBQTBTQTs7Ozs7O0NBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF6U0o7O0FBNlNBO0VBQ0k7QUExU0o7O0FBNlNBOzs7Ozs7Q0FBQTtBQVFBO0VBQ0k7RUFDQTtBQTNTSjs7QUE4U0E7RUFDSTtBQTNTSjs7QUE4U0E7RUFDSTtBQTNTSjs7QUE4U0E7RUFDSTtBQTNTSjs7QUE4U0E7RUFDSTtBQTNTSjs7QUE4U0E7RUFDSTtFQUNBO0VBQ0E7QUEzU0o7O0FBOFNBOzs7Ozs7Q0FBQTtBQVFBO0VBQ0k7QUE1U0o7O0FBK1NBO0VBQ0k7QUE1U0o7O0FBK1NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE1U0o7O0FBK1NBO0VBQ0k7QUE1U0o7O0FBK1NBO0VBQ0k7RUFDQTtFQUNBO0FBNVNKOztBQStTQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTdTSjs7QUFnVEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBN1NKOztBQWlUQTs7RUFFSTtBQTlTSjs7QUFpVEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOVNKOztBQWlUQTtFQUNJO0FBOVNKOztBQWlUQTtFQUNJO0VBQ0E7RUFDQTtBQTlTSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nob3Avc3R5bGVzL015Zmlyc1Nob3Auc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOndnaHRAMzAwOzQwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbip7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuOnJvb3R7XHJcbiAgICAtLXNpdGVfd2lkdGg6MTIwMHB4O1xyXG4gICAgLS1saWdodGdyYXk6ICNkNmQ3ZDk7XHJcbiAgICAtLWRqaV9ncmV5IDogI2YwZjFmMjtcclxuICAgIC0tYm9keV9iZ190b3AgOiAjZjdmN2Y3O1xyXG4gICAgLS1jdGFfY29sb3IgOiAjZmY0ZTZjO1xyXG4gICAgLS1jdGFfY29sb3JfdHJhbnNwYXJlbnQxIDogIzA4MDgwODhmO1xyXG4gICAgLS1jdGFfY29sb3JfdHJhbnNwYXJlbnQyIDogIzZhYTUxYzkzO1xyXG4gICAgLS1jdGFfaG92ZXJfY29sb3IgOiAjY2UxNzE5O1xyXG4gICAgLS1jdGFfYWNoYXRfY29sb3IgOiAjNjlhNTFjO1xyXG4gICAgLS1zdGFyX2NvbG9yIDogI2ZmOTEwMDtcclxuICAgIC0tY3RhX3Bvc2l0aWZfYWN0aW9uIDogIzc5YmUyMDtcclxuICAgIC0tc3Rhcl9jb2xvcl9saWd0aGVyIDogI2ZmYzY3YjtcclxuICAgIC0tZm9udF9mYW1pbHk6J09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICAtLXRleHRfYnV0dG9uX2NhcnQ6XCJcIjtcclxuICAgIC0tbm91dmVhdXRlX2NvbG9yOiMwMDk0OGM7XHJcbiAgICAtLXByb21vX2NvbG9yOiNlNjIxMTc7XHJcbiAgICAtLWluZGVfY29sb3I6I2Y3OTIxZTtcclxuICAgIC0tZXZlbnRfY29sb3I6I2UxNTUwZDtcclxuICAgIC0tbmV3c19jb2xvcjojMDA4NGZmO1xyXG4gICAgLS1kb3JhbmNvX2JnIDogIzAzMDAyODtcclxuICAgIC0tZG9yYW5jb19yb3VnZSA6ICNjZTE3MTk7XHJcbiAgICAtLWJhc19kZWdyYWRlX2JvZHkgOiAjZmZmM2ViO1xyXG4gICAgLS1yb3VnZV9kZWJ1dF9ncmFkaWVudDogI2RmNWU0YztcclxuICAgIC0tbWVkaXVtX2JyZWFrcG9pbnQ6MTE5OXB4O1xyXG4gICAgLS10cmFuc2l0aW9uXzMwMG1zIDogYWxsIDAuM3MgZWFzZTtcclxuICAgIC0tYmRfcmFkaXVzIDogMTJweDtcclxuICAgIC0tcHJvZHVpdF9pbmZvX2Jsb2Nfd2lkdGg6NTUwcHg7XHJcbiAgICAtLXJlc3BvbnNpdl93aWR0aDogOTUlO1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgUmVzcG9uc2l2ZSBncmFuZCBlY3JhbiBkZSBtZXMgYmxvY3NcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXtcclxuXHJcbiAgICAvKioqKioqKioqKiAgIGhlYWRlciBldCBuYXZpZ2F0aW9uICAgKioqKioqKioqKi9cclxuXHJcbiAgICAjc21hbGxfZGV2aWNlX3RvcF9uYXZ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKiogI2xvZ28gKioqKioqL1xyXG4gICAgLmxvZ297XHJcbiAgICAgICAgd2lkdGg6MzAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI29wZW5fbmF2e1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNtYWxsX25hdl9saW5re1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBjb3VwIGRlIGNvZXVyICAgKioqKioqKioqKi9cclxuXHJcbiAgICAjY291cF9kZV9jb2V1cl9saXN0IC5idG5fdGV4dCwgI3Byb2R1Y3RfaG9yaXpvbnRhbF9saXN0IC5idG5fdGV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgQ2F0YWxvZ3VlIHByb2R1aXQgICAqKioqKioqKioqL1xyXG5cclxuICAgICNmaWx0cmVfbWVudV9idG57XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAjY2xvc2VfZmlsdHJlX2J0bntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICNhX3Byb3Bvc3tcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgI2FfcHJvcG9zID4gZGl2e1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgI2FfcHJvcG9zIC5wb3J0cmFpdHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF9hY2hhdHtcclxuICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1aXRfYWNoYXQgPiBkaXZ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF90aXRyZXtcclxuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwIDM1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYmxvY19wcml4e1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1aXRfcHJpeHtcclxuICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN5bGl1cy1wcm9kdWN0LW9yaWdpbmFsLXByaWNlLnByb2R1aXRfcHJpeCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9kdWl0X2FjaGF0ICNzeWxpdXMtcHJvZHVjdC1hZGRpbmctdG8tY2FydHtcclxuICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuYnRuX3RleHR7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBGaWNoZSBwcm9kdWl0ICAgKioqKioqKioqKi9cclxuXHJcbiAgICAudWkuYnJlYWRjcnVtYiB7XHJcbiAgICAgICAgdG9wOiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpY2hlX3Jvd3tcclxuICAgICAgICB3aWR0aDogdmFyKC0tc2l0ZV93aWR0aCkgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtcm91dGU9XCJzeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3dcIl0gLnVpLnR3by5jb2x1bW4uc3RhY2thYmxlLmdyaWQgPiAuY29sdW1ue1xyXG4gICAgICAgIHdpZHRoOnZhcigtLXByb2R1aXRfaW5mb19ibG9jX3dpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluSW1hZ2VfY29udGFpbmVye1xyXG4gICAgICAgIGhlaWdodDogNDUwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubWFpbkltYWdle1xyXG4gICAgICAgIGhlaWdodDogNDUwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjaW5mb19wcmV2aWV3X2NvbnRhaW5lcntcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0IC5yZXF1aXJlZC5maWVsZHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgfVxyXG5cclxuICAgICNham91dFBhbmllci5jdGFfYnRue1xyXG4gICAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvKiAjaW5mb19qZXUgKi9cclxuXHJcbiAgICBbZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIC51aS50d28uY29sdW1uLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gKiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6MCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICBwYWdlIGEgcHJvcG9zICAgKioqKioqKioqKi9cclxuXHJcbiAgICAjYV9wcm9wb3NfcGFnZSBoMntcclxuICAgICAgICBtYXJnaW46IDMwcHggMCA2cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICBSZXNwb25zaXZlIFRhYmxldHRlIGRlIG1lcyBibG9jc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4vKiAjcmVzcG9uc2l2ZSAqL1xyXG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXtcclxuXHJcbiAgICAvKiBNYWluIGNvbnRhaW5lciAqL1xyXG4gICAgLnB1c2hlcntcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBoZWFkZXIgZXQgbmF2aWdhdGlvbiAgICoqKioqKioqKiovXHJcblxyXG4gICAgI3NtYWxsX2RldmljZV90b3BfbmF2e1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI3VzZXJfY29ubmVjdGlvbntcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaGVhZGVyID4gLnVpLmJhc2ljLnNlZ21lbnR7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgI2hlYWRlcl9zZWNvbmRfbGluZV93cmFwcGVye1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgd2lkdGg6IG1pbigxMDAlIC0gMXJlbSwgdmFyKC0tc2l0ZV93aWR0aCkpO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjaGVhZGVyX3NlY29uZF9saW5lX3dyYXBwZXIgPiBkaXY6bnRoLWNoaWxkKDQpLCAjaGVhZGVyX3NlY29uZF9saW5lX3dyYXBwZXIgPiBkaXY6bnRoLWNoaWxkKDUpe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc21hbGxfbmF2X2xpbmt7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKiogI2xvZ28gKioqKioqL1xyXG4gICAgLmxvZ297XHJcbiAgICAgICAgd2lkdGg6MzAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI3Byb2R1Y3RzX3NlYXJjaC1iYXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjc3lsaXVzLWNhcnQtYnV0dG9ue1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI29wZW5fbmF2e1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQmFycmVkIGUgcmVjaGVyY2hlICAqL1xyXG5cclxuICAgICNwcm9kdWN0c19zZWFyY2gtYmFye1xyXG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTmF2aWdhdGlvbiBUYXhvbnMgICovXHJcblxyXG5cclxuICAgICNtYWluX25hdntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICNzbWFsbF9uYXZfaGVhZGluZ3tcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgfVxyXG5cclxuICAgICNzbWFsbF9uYXZfaGVhZGluZyA+IGgye1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X2ZhbWlseSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAjc21hbGxfbmF2X2hlYWRpbmcgPiBidXR0b257XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMiU7XHJcbiAgICAgICAgcmlnaHQ6IDIlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNyb3NzX2ljb257XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGZpbGw6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQm90dG9tIE5hdmlnYXRpb24gICovXHJcblxyXG4gICAgI2JvdHRvbV9uYXZ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiBtaW4oMTAwJSwgdmFyKC0tc2l0ZV93aWR0aCkpO1xyXG4gICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgei1pbmRleDogMTAxO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgI2JvdHRvbV9uYXYgPiBhLCAjYm90dG9tX25hdiA+IGJ1dHRvbntcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgI2JvdHRvbV9uYXYgPiBidXR0b24sICAjYm90dG9tX25hdiA+IGJ1dHRvbjo6YmVmb3Jle1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2X2ljb257XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIGZpbGw6ICAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgTmV3cyBldCBCYW5uaWVyZSAgICoqKioqKioqKiovXHJcblxyXG4gICAgLnNsaWRlcl9jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXJlc3BvbnNpdl93aWR0aCkgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNsaWRlc2hvdy1jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OjQwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLmltZ19zbGlkZXtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0tc2l0ZV93aWR0aCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBOb3V2ZWF1eCBqZXV4LCBQcm9tbyBldCBKZXV4IGluZMOpcGVuZGFudHMgICAqKioqKioqKioqL1xyXG5cclxuICAgIC5teVJvdywgLm15Um93LmJsb2NfbmF2X3Byb2R1aXR7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXJlc3BvbnNpdl93aWR0aCkgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXlDb2x7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm15Q29sIHZpZGVve1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBFdmVuZW1lbnQgZXQgdG91cm5vaXMgICAqKioqKioqKioqL1xyXG5cclxuICAgIC5ibG9jX2V2ZW5lbWVudHtcclxuICAgICAgICB3aWR0aDogdmFyKC0tcmVzcG9uc2l2X3dpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NfZXZlbmVtZW50ID4gdmlkZW97XHJcbiAgICAgICAgbWluLXdpZHRoOiA4MDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBOYXZpZ2F0aW9uIHByb2R1aXQgcGFyIGNhdMOpZ29yaWUgICAqKioqKioqKioqL1xyXG5cclxuICAgIC5teUNvbDJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm15Q29sMiA+IGRpdntcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teUNvbDIgPiBkaXY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm15Q29sMiA+IGRpdjpsYXN0LWNoaWxke1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC5teUNvbDIgIGltZ3tcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgRmlsdHJlIGV0IGEgcHJvcG9zICAgKioqKioqKioqKi9cclxuICAgICNmaWx0cmVfbWVudV9idG57XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAjY2xvc2VfZmlsdHJlX2J0bntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICNmaWx0cmVGb3Jte1xyXG4gICAgICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgI2FfcHJvcG9ze1xyXG4gICAgICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3MgPiBkaXZ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3MgLnBvcnRyYWl0e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5ibG9jX3ByaXh7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKiAgIENhdGFsb2d1ZSBwcm9kdWl0cyAgICoqKioqKioqKiovXHJcbiAgICAjcHJvZHVjdHN7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAjcHJvZHVjdHMudGhyZWUuY2FyZHMgLmNhcmR7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgI3Byb2R1Y3RzIC5jdGFfYnRuLnJ1cHR1cmV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF9hY2hhdHtcclxuICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1aXRfYWNoYXQgPiBkaXZ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF90aXRyZXtcclxuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwIDM1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF9wcml4e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3lsaXVzLXByb2R1Y3Qtb3JpZ2luYWwtcHJpY2UucHJvZHVpdF9wcml4IHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1aXRfYWNoYXQgI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0e1xyXG4gICAgICAgIHdpZHRoOiA4NSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bl90ZXh0e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgRmljaGUgcHJvZHVpdCAgICoqKioqKioqKiovXHJcblxyXG4gICAgLmZpY2hlX3Jvd3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjaW5mb19wcmV2aWV3X2NvbnRhaW5lcntcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLyogI2luZm9famV1ICovXHJcblxyXG4gICAgW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9zaG93XSAudWkudHdvLmNvbHVtbi5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW46bGFzdC1jaGlsZCA+ICoge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAgLyoqKioqKioqKiogICBDb25kaXRpb25zIGdlbmVyYWxlcyB2ZW50ZXMgICoqKioqKioqKiovXHJcblxyXG4gICAgIC5jZ3YgcCwgLmNndiBoMiwgLmNndiBoM3tcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNndiB1bCwgLmNndiBvbHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICBwYWdlIGEgcHJvcG9zICAqKioqKioqKioqL1xyXG5cclxuICAgICNhX3Byb3Bvc19wYWdlIGFydGljbGV7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3NfcGFnZSBoMntcclxuICAgICAgICBtYXgtaW5saW5lLXNpemU6IDUwY2g7XHJcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgICNhX3Byb3Bvc19wYWdlICNwcmVzZW50YXRpb24gZGl2e1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKiAgIEZvb3RlciAgICoqKioqKioqKiovXHJcblxyXG4gICAgI2Zvb3RlcntcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnByZS1mb290ZXJ7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXJlc3BvbnNpdl93aWR0aCkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIFJlc3BvbnNpdmUgc21hcnRwaG9uZSBkZSBtZXMgYmxvY3NcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpe1xyXG4gICAgLyogTWFpbiBjb250YWluZXIgKi9cclxuICAgIC5wdXNoZXJ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgaGVhZGVyIGV0IG5hdmlnYXRpb24gICAqKioqKioqKioqL1xyXG5cclxuICAgICN1c2VyX2Nvbm5lY3Rpb257XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGhlYWRlciA+IC51aS5iYXNpYy5zZWdtZW50e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIGhlYWRlciA+IGRpdjpmaXJzdC1jaGlsZHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjaGVhZGVyX3NlY29uZF9saW5lX3dyYXBwZXJ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aWR0aDogbWluKDEwMCUgLSAzcmVtLCB2YXIoLS1zaXRlX3dpZHRoKSk7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbWFsbF9uYXZfbGlua3tcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAuc21hbGxfbmF2X2xpbmsgaHJ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICM5MTkxOTE7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC8qKioqKiAjbG9nbyAqKioqKiovXHJcbiAgICAubG9nb3tcclxuICAgICAgICB3aWR0aDoyNDBweDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgI3Byb2R1Y3RzX3NlYXJjaC1iYXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjc21hbGxfZGV2aWNlX3RvcF9uYXZ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICNzbWFsbF9kZXZpY2VfdG9wX25hdiA+IGF7XHJcbiAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfZmFtaWx5KTtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICNzeWxpdXMtY2FydC1idXR0b257XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBCYXJyZWQgZSByZWNoZXJjaGUgICovXHJcblxyXG4gICAgI3Byb2R1Y3RzX3NlYXJjaC1iYXJ7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjc2VhcmNoYmFyQnV0dG9uc3tcclxuICAgICAgICB3aWR0aDogMzUlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIE5hdmlnYXRpb24gVGF4b25zICAqL1xyXG5cclxuICAgICNoZWFkZXJfc2Vjb25kX2xpbmVfd3JhcHBlciA+IGRpdjpmaXJzdC1jaGlsZHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICNvcGVuX25hdntcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjRmNGY0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAjaGVhZGVyX3NlY29uZF9saW5lX3dyYXBwZXIgPiBkaXY6bnRoLWNoaWxkKDQpLCAjaGVhZGVyX3NlY29uZF9saW5lX3dyYXBwZXIgPiBkaXY6bnRoLWNoaWxkKDUpe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjbWFpbl9uYXYuaGlkZGVue1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgI21haW5fbmF2e1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHdpZHRoOiBtaW4oMTAwJSwgdmFyKC0tc2l0ZV93aWR0aCkpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb25fMzAwbXMpO1xyXG4gICAgfVxyXG5cclxuICAgICNtYWluX25hdjo6YmVmb3Jle1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICNtYWluX25hdiBhe1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgI3NtYWxsX25hdl9oZWFkaW5ne1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICNzbWFsbF9uYXZfaGVhZGluZyA+IGgye1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X2ZhbWlseSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAjc21hbGxfbmF2X2hlYWRpbmcgPiBidXR0b257XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMiU7XHJcbiAgICAgICAgcmlnaHQ6IDIlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNyb3NzX2ljb257XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGZpbGw6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQm90dG9tIE5hdmlnYXRpb24gICovXHJcblxyXG4gICAgI2JvdHRvbV9uYXZ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiBtaW4oMTAwJSwgdmFyKC0tc2l0ZV93aWR0aCkpO1xyXG4gICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgei1pbmRleDogMTAxO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgI2JvdHRvbV9uYXYgPiBhLCAjYm90dG9tX25hdiA+IGJ1dHRvbntcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgI2JvdHRvbV9uYXYgPiBidXR0b24sICAjYm90dG9tX25hdiA+IGJ1dHRvbjo6YmVmb3Jle1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2X2ljb257XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIGZpbGw6ICAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgTmV3cyBldCBCYW5uaWVyZSAgICoqKioqKioqKiovXHJcblxyXG4gICAgLnNsaWRlcl9jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXJlc3BvbnNpdl93aWR0aCkgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNsaWRlc2hvdy1jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OjQwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLmltZ19zbGlkZXtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjUlLCAwJSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKiAgIE5vdXZlYXV4IGpldXgsIFByb21vIGV0IEpldXggaW5kw6lwZW5kYW50cyAgICoqKioqKioqKiovXHJcblxyXG4gICAgLm15Um93LCAubXlSb3cuYmxvY19uYXZfcHJvZHVpdHtcclxuICAgICAgICB3aWR0aDogdmFyKC0tcmVzcG9uc2l2X3dpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teUNvbHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXlDb2wgdmlkZW97XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLyoqKioqKioqKiogICBDb3VwcyBkZSBjb2V1cnMgICAgKioqKioqKioqKi9cclxuXHJcbiAgICAjY291cF9kZV9jb2V1cl9saXN0e1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjY291cF9kZV9jb2V1cl9saXN0ID4gZGl2OmZpcnN0LWNoaWxke1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAjY291cF9kZV9jb2V1cl9saXN0IC5wcm9kdWl0X21pbmlhdHVyZXtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC51aS5jYXJkcywgLnVpLnRocmVlLmNhcmRzLCAudWkudGhyZWUuZG91YmxpbmcuY2FyZHN7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI2NvdXBfZGVfY29ldXJfbGlzdCAuYnRuX3RleHQsICNwcm9kdWN0X2hvcml6b250YWxfbGlzdCAuYnRuX3RleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBFdmVuZW1lbnQgZXQgdG91cm5vaXMgICAqKioqKioqKioqL1xyXG5cclxuICAgIC5ibG9jX2V2ZW5lbWVudHtcclxuICAgICAgICB3aWR0aDogdmFyKC0tcmVzcG9uc2l2X3dpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NfZXZlbmVtZW50ID4gdmlkZW97XHJcbiAgICAgICAgbWluLXdpZHRoOiA4MDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqKioqKioqKiogICBOYXZpZ2F0aW9uIHByb2R1aXQgcGFyIGNhdMOpZ29yaWUgICAqKioqKioqKioqL1xyXG5cclxuICAgIC5teUNvbDJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm15Q29sMiA+IGRpdntcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teUNvbDIgPiBkaXY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm15Q29sMiA+IGRpdjpsYXN0LWNoaWxke1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC5teUNvbDIgIGltZ3tcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgQ2F0YWxvZ3VlIHByb2R1aXRzICAgKioqKioqKioqKi9cclxuXHJcbiAgICAuYnJlYWRjcnVtYntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAjZmlsdHJlX21lbnVfYnRue1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIHJpZ2h0OiA3JTtcclxuICAgICAgICB6LWluZGV4OiAxNTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjRmNGY0O1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzowIDRweCAyNHB4IHJnYmEoMCwwLDAsLjIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6MCAycHggNHB4IHJnYmEoMCwwLDAsLjIpO1xyXG4gICAgfVxyXG5cclxuICAgICNjbG9zZV9maWx0cmVfYnRue1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiA5NSU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Y0ZjRmNDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6MCA0cHggMjRweCByZ2JhKDAsMCwwLC4yKTtcclxuICAgICAgICBib3gtc2hhZG93OjAgMnB4IDRweCByZ2JhKDAsMCwwLC4yKTtcclxuICAgIH1cclxuXHJcbiAgICAjY2xvc2VfZmlsdHJlX2J0biAuY3Jvc3NfaWNvbntcclxuICAgICAgICBmaWxsOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgICNjbG9zZV9maWx0cmVfYnRuOmhvdmVyIC5jcm9zc19pY29ue1xyXG4gICAgICAgIGZpbGw6IHZhcigtLWN0YV9ob3Zlcl9jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpbHRyZV9pY29ue1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFNpZGViYXIgKi9cclxuXHJcbiAgICAjcHJvZHVjdF9zaWRlYmFye1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHotaW5kZXg6IDE2O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uXzMwMG1zKTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgfVxyXG5cclxuICAgICNwcm9kdWN0X3NpZGViYXIuaGlkZGVue1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAxJSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3MgPiBkaXYge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3MgPiBkaXYgPiBkaXZ7XHJcbiAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3MgLnBvcnRyYWl0e1xyXG4gICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICB9XHJcblxyXG4gICAgI2ZpbHRyZUZvcm0gaHIsICNhX3Byb3BvcyBociB7XHJcbiAgICAgICAgd2lkdGg6IDk4JSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIGxpc3RlIHByb2R1aXQgKi9cclxuICAgICNwcm9kdWN0c3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICNwcm9kdWN0cy50aHJlZS5jYXJkc3tcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICNwcm9kdWN0cyAucHJvZHVpdF9taW5pYXR1cmV7XHJcbiAgICAgICAgd2lkdGg6IDQ1JSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9kdWl0X2FjaGF0e1xyXG4gICAgICAgcGFkZGluZzogMCAxNXB4OyBcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF9hY2hhdCA+IGRpdiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5ibG9jX3ByaXh7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1aXRfcHJpeHtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuc3lsaXVzLXByb2R1Y3Qtb3JpZ2luYWwtcHJpY2UucHJvZHVpdF9wcml4IHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQuYmxvY19hY2hhdHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxOTVweDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVpdF90aXRyZXtcclxuICAgICAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgI3Byb2R1Y3RzIC5jdGFfYnRuLnJ1cHR1cmV7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjcHJvZHVjdHMgLmN0YV9idG4ucnVwdHVyZSAuYnRuX3RleHR7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI3Byb2R1Y3RzIC5idG5fdGV4dHtcclxuICAgICAgICBsZWZ0OiAxMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICB9XHJcblxyXG4gICAgI3BhZ2luYXRpb257XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKiAgIEZpY2hlIHByb2R1aXQgICAqKioqKioqKioqL1xyXG5cclxuICAgIC5icmVhZGNydW1ie1xyXG4gICAgICAgIHRvcDowO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI2ZpY2hlX3Jvd3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubWFpbkltYWdlX2NvbnRhaW5lcntcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5JbWFnZXtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgI2luZm9fcHJldmlld19jb250YWluZXJ7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0e1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICNzeWxpdXMtcHJvZHVjdC1hZGRpbmctdG8tY2FydCAucmVxdWlyZWQuZmllbGR7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgI2Fqb3V0UGFuaWVyLmN0YV9idG57XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYmxvY19kZXRhaWxfcHJvZHVpdCAuaXRlbXtcclxuICAgICAgICBmbGV4OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLyoqKioqKioqKiogICBQYW5pZXIgICAqKioqKioqKioqL1xyXG5cclxuICAgIC51aS5oZWFkZXIgPiAuaWNvbiArIC5jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2luZ2xlLmxpbmV7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI3N5bGl1cy1jYXJ0LWl0ZW1zIHRoZWFke1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjc3lsaXVzLWNhcnQtaXRlbXMgdGJvZHkgPnRye1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgI3N5bGl1cy1jYXJ0LWl0ZW1zIHRke1xyXG4gICAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjc3lsaXVzLWNhcnQtaXRlbXMgdGQ6bGFzdC1jaGlsZHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgI3N5bGl1cy1jYXJ0LWl0ZW1zIC5zeWxpdXMtdW5pdC1wcmljZXtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAjc3lsaXVzLWNvdXBvbiAudWkuY291cG9uLmFjdGlvbi5pbnB1dHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICNzeWxpdXMtc2F2ZXtcclxuICAgICAgICBmbGV4OiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICNzeWxpdXMtY2FydC11cGRhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaDQudWkuaG9yaXpvbnRhbC5zZWN0aW9uLmRpdmlkZXIuaGVhZGVye1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgRm9ybXVsYWlyZSBjb29raWUgICAqKioqKioqKioqL1xyXG5cclxuICAgICNjb29raWVfZGlhbG9ne1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICAgQ29uZGl0aW9ucyBnZW5lcmFsZXMgdmVudGVzICAqKioqKioqKioqL1xyXG5cclxuICAgIC5jZ3YgcCwgLmNndiBoMiwgLmNndiBoM3tcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNndiB1bCwgLmNndiBvbHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKioqKioqKioqICBwYWdlIGEgcHJvcG9zICAqKioqKioqKioqL1xyXG5cclxuICAgICNhX3Byb3Bvc19wYWdlIGFydGljbGV7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAjYV9wcm9wb3NfcGFnZSBoMntcclxuICAgICAgICBtYXgtaW5saW5lLXNpemU6IDUwY2g7XHJcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgICNhX3Byb3Bvc19wYWdlICNwcmVzZW50YXRpb24gZGl2e1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKiAgIEZvb3RlciAgICoqKioqKioqKiovXHJcblxyXG4gICAgI2Zvb3RlcntcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnByZS1mb290ZXJ7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXJlc3BvbnNpdl93aWR0aCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2xvYmFsIFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG5cclxuaHRtbCwgYm9keXtcclxuICAgIGhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5e1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCAjZmZmLCB2YXIoLS1iYXNfZGVncmFkZV9ib2R5KSkgO1xyXG59XHJcblxyXG4uZmxleF9lbmR7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hbGlnbl9jZW50ZXJ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yb3VuZF9jb3JuZXJ7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXJnaW5fMHtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyZ2luXzBfY2VudGVye1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBhZGRpbmdfMzB7XHJcbiAgICBwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iZ193aGl0ZXtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJvbGRlcntcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuYXtcclxuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG59XHJcblxyXG4udWkuY29udGFpbmVyLndyYXBwZXJ7XHJcbiAgICB3aWR0aDogdmFyKC0tc2l0ZV93aWR0aCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9ybSAuYnV0dG9ue1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9ybSAuYnV0dG9uOjpiZWZvcmV7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICB3aWR0aDogMTAlO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdGFfcG9zaXRpZl9hY3Rpb24pO1xyXG59XHJcblxyXG5mb3JtIC5idXR0b246aG92ZXI6YmVmb3Jle1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udWkuYnJlYWRjcnVtYiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmJ1dHRvblt0eXBlPVwic3VibWl0XCJde1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVhZGVyIFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4udG9wLW1lbnVfdGV4dHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLnRvcC1tZW51X19saW5re1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5wdXNoZXIgPiAjbWVudXtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIDY4LjNkZWcsICB2YXIoLS1yb3VnZV9kZWJ1dF9ncmFkaWVudCkgMC40JSwgdmFyKC0tZG9yYW5jb19yb3VnZSkgMTAwLjIlICkgIWltcG9ydGFudDtcclxuICAgIC8qIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggNjguM2RlZywgIHJnYmEoMjQ1LDE3Nyw5NywxKSAwLjQlLCByZ2JhKDIzNiw1NCwxMTAsMSkgMTAwLjIlICkgIWltcG9ydGFudDsgKi9cclxufVxyXG5cclxuI21lbnU6OmFmdGVye1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuI21lbnUgPiAudG9wLW1lbnVfd3JhcHBlcntcclxuICAgIHdpZHRoOiBtaW4oMTAwJSAtIDNyZW0sIHZhcigtLXNpdGVfd2lkdGgpKTtcclxuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuaGVhZGVye1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG5oZWFkZXIgPiBkaXZ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB3aWR0aDogdmFyKC0tc2l0ZV93aWR0aCk7XHJcbn1cclxuXHJcbmhlYWRlciA+IGRpdjpmaXJzdC1jaGlsZHtcclxuICAgIHRvcDogOHB4O1xyXG59XHJcblxyXG5oZWFkZXIgPiBkaXYgPiBkaXZ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbmhlYWRlciA+IC51aS5iYXNpYy5zZWdtZW50e1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi8qKioqKiBCYXJyZSBkZSByZWNoZXJjaGUgcHJvZHVpdCAqKioqKi9cclxuXHJcbiNwcm9kdWN0c19zZWFyY2gtYmFye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogMS41JTtcclxuICAgIHdpZHRoOiA1MiU7XHJcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuI3NlYXJjaGJhcntcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc2VhcmNoYmFyVGV4dEZpZWxke1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jcHJvZHVjdF91c2VyX2lucHV0e1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxufVxyXG5cclxuI3NlYXJjaGJhckJ1dHRvbnMgYnV0dG9ue1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc2VhcmNoX2NsZWFyX2J0bntcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc2VhcmNoX2NsZWFyX2J0bjpob3ZlcntcclxuICAgIGJhY2tncm91bmQ6ICM2MzYzNjMyOCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc2VhcmNoYmFyQnV0dG9ucyBidXR0b24gaSwgI3NlYXJjaGJhckJ1dHRvbnMgYSBpe1xyXG4gICAgd2lkdGg6IDMwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3NlYXJjaGJhckJ1dHRvbnMgYnV0dG9uOjpiZWZvcmUsICNzZWFyY2hiYXJCdXR0b25zIGE6OmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQ6ICM2MzYzNjMyOCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKioqKiogYm91dG9uIHBhbmllciAqKioqKi9cclxuXHJcbmhlYWRlciAucmlnaHQuYWxpZ25lZC5jb2x1bW57XHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4jc3lsaXVzLWNhcnQtYnV0dG9ue1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHggIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb25fMzAwbXMpO1xyXG59XHJcblxyXG4jc3lsaXVzLWNhcnQtYnV0dG9uOmhvdmVye1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWN0YV9wb3NpdGlmX2FjdGlvbikgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2NhcnRfcXVhbnRpdHkge1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgIGJhY2tncm91bmQ6IHJlZDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCBibGFjaztcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIHRvcDogLTJweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogN3B4O1xyXG59XHJcblxyXG4uYnRuX3RleHR7XHJcbiAgICBtYXJnaW46IDAgYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfZmFtaWx5KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY291cF9kZV9jb2V1cl9saXN0IC5idG5fdGV4dCwgI3Byb2R1Y3RfaG9yaXpvbnRhbF9saXN0IC5idG5fdGV4dHtcclxuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKioqKiogTGllbnMgZGUgbmF2aWdhdGlvbiAqKioqKi9cclxuXHJcbiNtYWluX25hdntcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuI21haW5fbmF2OjpiZWZvcmV7XHJcbiAgICBib3gtc2hhZG93Om5vbmU7XHJcbn1cclxuXHJcbmhlYWRlciBhLml0ZW06aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWN0YV9ob3Zlcl9jb2xvcikgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4ubmF2X2xpbmt7XHJcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbl8zMDBtcykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdl9saW5rOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMC4xZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kb3JhbmNvX3JvdWdlKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xyXG4gIH1cclxuXHJcbi5uYXZfbGluazpob3ZlcntcclxuICAgIGNvbG9yOiB2YXIoLS1jdGFfaG92ZXJfY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uYXZfbGluazpob3Zlcjo6YWZ0ZXIsIC5uYXZfbGluazpmb2N1czo6YWZ0ZXJ7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG59XHJcblxyXG4jc21hbGxfbmF2X2hlYWRpbmcgLCAjYm90dG9tX25hdntcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jdXJyZW50X3RheG9ue1xyXG4gICAgY29sb3I6IHZhcigtLWN0YV9ob3Zlcl9jb2xvcikgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvZHkgXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbiNtYWluX3dyYXBwZXJ7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3cyBldCBCYW5uaWVyZSBcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNsaWRlcl9jb250YWluZXJ7XHJcbiAgICB3aWR0aDogdmFyKC0tc2l0ZV93aWR0aCk7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogMjBweDtcclxufVxyXG5cclxuLyogI3NsaWRlciAqL1xyXG4vKiBTbGlkZXNob3cgY29udGFpbmVyICovXHJcbi5zbGlkZXJfZHJvaXRle1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGJsdWU7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zbGlkZXNob3ctY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OjQwMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGJsdWU7XHJcbn1cclxuXHJcbi5pbWdfc2xpZGV7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE3JSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cyk7XHJcbn1cclxuICBcclxuLyogSGlkZSB0aGUgaW1hZ2VzIGJ5IGRlZmF1bHQgKi9cclxuLm15U2xpZGVzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuICBcclxuLyogTmV4dCAmIHByZXZpb3VzIGJ1dHRvbnMgKi9cclxuLnByZXYsIC5uZXh0IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiAtMjJweDtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHRyYW5zaXRpb246IDAuNnMgZWFzZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNClcclxufVxyXG5cclxuLnByZXYge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCA1MHB4IDUwcHggMDtcclxufVxyXG4gIFxyXG4vKiBQb3NpdGlvbiB0aGUgXCJuZXh0IGJ1dHRvblwiIHRvIHRoZSByaWdodCAqL1xyXG4ubmV4dCB7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHggMCAwIDUwcHg7XHJcbn1cclxuXHJcbi8qIE9uIGhvdmVyLCBhZGQgYSBibGFjayBiYWNrZ3JvdW5kIGNvbG9yIHdpdGggYSBsaXR0bGUgYml0IHNlZS10aHJvdWdoICovXHJcbi5wcmV2OmhvdmVyLCAubmV4dDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOCk7XHJcbn1cclxuICBcclxuICBcclxuLyogVGhlIGRvdHMvYnVsbGV0cy9pbmRpY2F0b3JzICovXHJcbi5kb3RfY29udGFpbmVye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOi01NXB4O1xyXG59XHJcblxyXG4uZG90IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgbWFyZ2luOiAwIDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMgZWFzZTtcclxufVxyXG4gIFxyXG4uYWN0aXZlLCAuZG90OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MTcxNzE7XHJcbn1cclxuICBcclxuLyogRmFkaW5nIGFuaW1hdGlvbiAqL1xyXG4uZmFkZSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZTtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcclxufVxyXG4gIFxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgZnJvbSB7b3BhY2l0eTogLjR9XHJcbiAgICB0byB7b3BhY2l0eTogMX1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIE5vdXZlYXV4IGpldXgsIFByb21vIGV0IEpldXggaW5kw6lwZW5kYW50c1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4ubXlSb3d7XHJcbiAgICB3aWR0aDogdmFyKC0tc2l0ZV93aWR0aCk7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogMjBweDtcclxufVxyXG5cclxuLm15Q29se1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDMzJTtcclxuICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpO1xyXG59XHJcblxyXG4uYmxvY190aXRsZXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYmRfcmFkaXVzKSB2YXIoLS1iZF9yYWRpdXMpO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4vKiAjY3RhX2JvdXRvbiAqL1xyXG4uY3RhX2J0bntcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWN0YV9ob3Zlcl9jb2xvcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLmN0YV9idG4uYWNjdWVpbHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogODAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxufVxyXG5cclxuLmN0YV9idG4uYWNjdWVpbDpob3ZlcntcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjI1KTtcclxufVxyXG5cclxuLyogw6lsZW1lbnRzIHBvdXIgbGUgaG92ZXIgZWZmZWN0IGR1IGJvdXRvbiAqL1xyXG5cclxuLmN0YV9idG46OmJlZm9yZXtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHdpZHRoOiAxMCU7XHJcbiAgICBhc3BlY3QtcmF0aW86IDE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZTtcclxufVxyXG5cclxuLmN0YV9idG46aG92ZXJ7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3RhX2J0bjpob3Zlcjo6YmVmb3Jle1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBmaWx0cmUgZGUgY29udHJhc3RlIHN1ciBsZXMgYmxvY3MgKi9cclxuLmJsYWNrX2ZpbHRyZXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2U7XHJcbn1cclxuXHJcbi5jdGFfYnRuLmFjY3VlaWw6aG92ZXIgKyAuYmxhY2tfZmlsdHJle1xyXG4gICAgb3BhY2l0eTogMC4xO1xyXG59XHJcblxyXG4vKiAjbm91dmVhdXggamV1eCAqL1xyXG4jbm91dmVhdXhfamV1eHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTMwJTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbiNub3V2ZWF1eF9qZXV4IC5jdGFfYnRue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbm91dmVhdXRlX2NvbG9yKTtcclxufVxyXG5cclxuLyogI3Byb21vdGlvbiAqL1xyXG4jcHJvbW90aW9uc3tcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTMwJTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbiNwcm9tb3Rpb25zIC5jdGFfYnRue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvbW9fY29sb3IpO1xyXG59XHJcblxyXG4vKiAjamV1eCBpbmRlcyAqL1xyXG5cclxuI25vdXZlYXV4X2pldXgsICNwcm9tb3Rpb25zLCAjamV1eF9pbmRlc3tcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiNqZXV4X2luZGVzIC5jdGFfYnRue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kZV9jb2xvcik7XHJcbn1cclxuXHJcbi5teUNvbCB2aWRlb3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTEwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cyl2O1xyXG4gICAgei1pbmRleDogLTEwO1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXJvdXNlbCBDb3VwcyBkZSBjb2V1clxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcbiNjb3VwX2RlX2NvZXVyX3RpdHJle1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY291cF9kZV9jb2V1cl90aXRyZTo6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OiBub25lO1xyXG59XHJcblxyXG4jY2Fyb3VzZWwtd3JhcHBlcntcclxuICAgIC8qYmFja2dyb3VuZDogbGlnaHRjb3JhbDsqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxufVxyXG5cclxuI2Nhcm91c2VsLXdyYXBwZXIgLnNsaWNrLXNsaWRle1xyXG4gICAgd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjYXJvdXNlbHtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNhcm91c2VsLXJpZ2h0e1xyXG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNhcm91c2VsLWxlZnR7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjYXJvdXNlbC1sZWZ0LCAjY2Fyb3VzZWwtcmlnaHR7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwNTIgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2NvdXBfZGVfY29ldXJfbGlzdHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpO1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVuZW1lbnQgZXQgdG91cm5vaXNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLyogI2V2ZW5lbWVudCBldCB0b3Vybm9pcyAqL1xyXG4uYmxvY19ldmVuZW1lbnR7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogdmFyKC0tc2l0ZV93aWR0aCk7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uYmxvY19ldmVuZW1lbnQgLmN0YV9idG57XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ldmVudF9jb2xvcik7XHJcbn1cclxuXHJcbi5ibG9jX2V2ZW5lbWVudCA+IHZpZGVve1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6NTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpO1xyXG4gICAgei1pbmRleDogLTEwO1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE5hdmlnYXRpb24gcHJvZHVpdCBwYXIgVGF4b25cclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLmJsb2NfbmF2X3Byb2R1aXR7XHJcbiAgICBoZWlnaHQ6IDMzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG59XHJcblxyXG4ubXlDb2wye1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogNTkwcHg7XHJcbiAgICBoZWlnaHQ6IDMzMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cyk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXlDb2wyIGhye1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWN0YV9ob3Zlcl9jb2xvcik7XHJcbn1cclxuXHJcbi5teUNvbDIgaDJ7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXlDb2wyID4gZGl2e1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLm15Q29sMiB1bHtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMTVweDtcclxufVxyXG5cclxuLm15Q29sMiAgdWwgPiBsaXtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubXlDb2wyICB1bCA+IGxpID4gYXtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X2ZhbWlseSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4ubXlDb2wyICB1bCA+IGxpID4gYTpob3ZlcntcclxuICAgIGNvbG9yOiB2YXIoLS1jdGFfaG92ZXJfY29sb3IpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5teUNvbDIgIGltZ3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTUyBDYXRhbG9ndWUgcHJvZHVpdHNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVydGljYWwgbWVudSBkZXMgRmlsdHJlcyBcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcclxuICAgIFtkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3RfaW5kZXhdIC51aS5mbHVpZC52ZXJ0aWNhbC5tZW51IHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YXhvbl90aXRsZXtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE4cHggMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qICNmaWx0cmVzICovXHJcbi5jYXRhbG9ndWVfY29sX2ZpbHRyZXtcclxuICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxufVxyXG5cclxuI2ZpbHRyZUZvcm17XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuI2ZpbHRyZUZvcm0gZmllbGRzZXR7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4jZmlsdHJlRm9ybSAuZmlsdHJlX2Jsb2NfdGl0cmV7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uYXJyb3dfaWNvbntcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uXzMwMG1zKTtcclxufVxyXG5cclxuLmFycm93X2ljb24ub3BlbntcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxufVxyXG5cclxuI2ZpbHRyZUZvcm0gbGVnZW5ke1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4jZmlsdHJlRm9ybSBociwgI2FfcHJvcG9zIGhye1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgd2lkdGg6IDg1JTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jdGFfaG92ZXJfY29sb3IpO1xyXG59XHJcblxyXG4jZmlsdHJlRm9ybSBmaWVsZHNldCAuZmlsdHJlc19jb250YWluZXJ7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMThweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiA3cHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbl8zMDBtcyk7XHJcbn1cclxuXHJcbi5maWx0cmVzX2NvbnRhaW5lci5oaWRkZW57XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4jZmlsdHJlRm9ybSAuZmlsdHJle1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBjb2xvcjogcmdiKDk1LCA5NCwgOTQpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogMTBweDtcclxufVxyXG5cclxuLmZpbHRyZSA+IGlucHV0OmNoZWNrZWQgK2xhYmVse1xyXG4gIGNvbG9yOiB2YXIoLS1jdGFfY29sb3IpO1xyXG59XHJcblxyXG4uZmlsdHJlIC5sYWJlbHtcclxuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlO1xyXG59XHJcblxyXG4uZmlsdHJlOmhvdmVyIC5sYWJlbHtcclxuICBjb2xvcjogdmFyKC0tY3RhX2hvdmVyX2NvbG9yKTtcclxufVxyXG5cclxuLyogI2ZpbHRyZV9ib3V0b24gKi9cclxuI2FwcGxpcXVlckZpbHRyZXMuY3RhX2J0bntcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbn1cclxuXHJcbi8qICNmaWx0cmVfcmVzZXRfYm91dG9uICovXHJcbi5jdGFfYnRuLmZpbHRyZV9yZXNldHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDgwJTtcclxuICBsaW5lLWhlaWdodDogNDBweDtcclxuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jYV9wcm9wb3N7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyA+IGRpdntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDIwcHg7ICBcclxufVxyXG5cclxuI2FfcHJvcG9zID4gZGl2ID4gZGl2e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyAudGl0cmVfYmxvY3tcclxuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xyXG4gICAgZ2FwOiAwO1xyXG59XHJcblxyXG4jYV9wcm9wb3MgPiBkaXYgPiBkaXYgPiBkaXZ7XHJcbiAgICBwYWRkaW5nOiAwIDE4cHg7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyBoM3tcclxuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfZmFtaWx5KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jYV9wcm9wb3MgLnBvcnRyYWl0e1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyBoNHtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyAuY29tcGV0ZW5jZV9jb250YWluZXJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4jYV9wcm9wb3MgLmNvbXBldGVuY2VfY29udGFpbmVyIC5sb2dvX2NvbXBldGVuY2V7XHJcbiAgICB3aWR0aDogMzBweDtcclxufVxyXG5cclxuI2FfcHJvcG9zIHB7XHJcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2U7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyBhLmN0YV9idG57XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXdzX2NvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiA5MCU7XHJcbn1cclxuXHJcbiNhX3Byb3BvcyBhLmN0YV9idG46OmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQ6ICM1NWFkZmY7XHJcbn1cclxuXHJcblxyXG4jYV9wcm9wb3MgYS5jdGFfYnRuIHB7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuI2FfcHJvcG9zIGEuY3RhX2J0biAubmF2X2ljb257XHJcbiAgICBmaWxsOiAjZmZmO1xyXG59XHJcblxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICBMaXN0ZSBkZXMgcHJvZHVpdHMgZXQgbWluaWF0dXJlIHByb2R1aXQgXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi51aS5zZWdtZW50LnNlYXJjaF9iYXJ7XHJcbiAgICBtYXJnaW4tdG9wOiA5NHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLml0ZW0udGF4b25fdGl0bGV7XHJcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLyojbGlzdGVfcHJvZHVpdCAqL1xyXG4jcHJvZHVjdHN7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDQwMHB4LCAxZnIpKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAjYmxvYyBwcm9kdWl0ICovXHJcbi5ibG9jX3Byb2R1aXR7XHJcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiA0MzBweCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cykgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Y0ZjRmNCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAuYmxvY19wcm9kdWl0OmhvdmVye1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDI0cHggcmdiYSgwLDAsMCwuMikgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6MCA0cHggMjRweCByZ2JhKDAsMCwwLC4yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAuYmxvY19wcm9kdWl0ID4gYXtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cyk7XHJcbiAgfVxyXG4gIFxyXG4gIC5ibG9jX3Byb2R1aXQgLnJhdGVfYmFye1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogMTBweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgei1pbmRleDogMjA7XHJcbiAgfVxyXG5cclxuXHJcbi5wcm9kdWl0X21pbmlhdHVyZTpob3ZlcntcclxuICAtd2Via2l0LWJveC1zaGFkb3c6MCA0cHggMjRweCByZ2JhKDAsMCwwLC4yKTtcclxuICBib3gtc2hhZG93OjAgNHB4IDI0cHggcmdiYSgwLDAsMCwuMik7XHJcbn1cclxuXHJcbi8qKioqKiogQm91dG9uIFwiZW4gc2F2b2lyIHBsdXNcIiAqKioqKiovXHJcblxyXG4uY3RhX2J0bi5wcm9kdWN0X2J0bntcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN0YV9jb2xvcl90cmFuc3BhcmVudDEpICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uY3RhX2J0bi5wcm9kdWN0X2J0bjpob3ZlcntcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ibG9jX3Byb2R1aXQ6aG92ZXIgLmN0YV9idG4ucHJvZHVjdF9idG57XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBQYXJ0aWUgYmFzc2UgZHUgYmxvYyBwcm9kdWl0ICovXHJcblxyXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50LCAudWkuY2FyZCA+IC5jb250ZW50LmJsb2NfYWNoYXR7XHJcbiAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxufVxyXG5cclxuLmNvbnRlbnQgPiBhe1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnByb2R1aXRfbWluaWF0dXJle1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKSB2YXIoLS1iZF9yYWRpdXMpIDAgMDtcclxuXHJcbn1cclxuXHJcbi8qICNpbWFnZV9wcm9kdWl0ICovXHJcbmltZy51aS5ib3JkZXJlZC5pbWFnZXtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLm1pbmlhdHVyZV9pbWd7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDI1cHggMDtcclxuICAgIC8qYmFja2dyb3VuZDogbGlnaHRjeWFuOyovXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4ubWluaWF0dXJlX2ltZyBpbWd7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKTtcclxufVxyXG5cclxuXHJcbi5wcm9kdWl0X2FjaGF0e1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDIwcHg7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGdhcDogMTBweDtcclxufVxyXG5cclxuLnByb2R1aXRfYWNoYXQgPiBkaXZ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogZW5kO1xyXG59XHJcblxyXG4vKiAjdGl0cmVfcHJvZHVpdCAqL1xyXG4ucHJvZHVpdF90aXRyZXtcclxuICBjb2xvcjogIzAwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udF9mYW1pbHkpICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgIWltcG9ydGFudDtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ibG9jX3Byb2R1aXQ6aG92ZXIgLnByb2R1aXRfdGl0cmUge1xyXG4gICAgY29sb3I6IHZhcigtLWN0YV9ob3Zlcl9jb2xvcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsb2NfcHJpeHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi5wcm9kdWl0X3ByaXh7XHJcbiAgY29sb3I6ICMwMDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHAsIC51aS5jYXJkID4gLmNvbnRlbnQgcCB7XHJcbiAgICBtYXJnaW46IC0wLjNlbSAwZW0gMC41ZW07XHJcbn1cclxuXHJcbi8qICNhY3Rpb25fdXRpbGlzYXRldXIgKi9cclxuXHJcbi5jdGFfYnRuLmNhdGFsb2d1ZXtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDU1JTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWN0YV9hY2hhdF9jb2xvcik7XHJcbn1cclxuXHJcbi5jdGFfYnRuLmNhdGFsb2d1ZS5ydXB0dXJle1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3RhX2hvdmVyX2NvbG9yKTtcclxuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyBcclxufVxyXG5cclxuLmN0YV9idG4uY2F0YWxvZ3VlOmJlZm9yZXtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jdGFfcG9zaXRpZl9hY3Rpb24pO1xyXG59XHJcblxyXG4uY3RhX2J0bi5jYXRhbG9ndWUgPiBwe1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfZmFtaWx5KTtcclxufVxyXG5cclxuLmN0YV9idG4uY2F0YWxvZ3VlID4gaXtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAlKTtcclxufVxyXG5cclxuI3Byb2R1Y3RfaG9yaXpvbnRhbF9saXN0IC5jdGFfYnRuLmNhdGFsb2d1ZXtcclxuICAgIHdpZHRoOiAzNyU7XHJcbn1cclxuXHJcbiNwcm9kdWN0X2hvcml6b250YWxfbGlzdCBidXR0b24gPiBwLmJ0bl90ZXh0e1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuI3BhZ2luYXRpb257XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNwYWdpbmF0aW9uIC5hY3RpdmUuaXRlbXtcclxuICAgIGNvbG9yOiB2YXIoLS1jdGFfaG92ZXJfY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jcGFnaW5hdGlvbiBhOmhvdmVye1xyXG4gICAgY29sb3I6dmFyKC0tY3RhX2hvdmVyX2NvbG9yKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jcGFnaW5hdGlvbiAuaXRlbTpmaXJzdC1jaGlsZHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHggMCAwIDUwcHg7XHJcbn1cclxuXHJcbiNwYWdpbmF0aW9uIC5pdGVtOmxhc3QtY2hpbGR7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xyXG59XHJcblxyXG4ucHJvZHVpdF9hY2hhdCAjc3lsaXVzLXByb2R1Y3Qtc2VsZWN0aW5nLXZhcmlhbnR7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvZHVpdF9hY2hhdCAjc3lsaXVzLXByb2R1Y3QtYWRkaW5nLXRvLWNhcnR7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnByb2R1aXRfYWNoYXQgI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0ID4gLnJlcXVpcmVkLmZpZWxke1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnByb2R1aXRfYWNoYXQgI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0ICNham91dFBhbmllcntcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdGFfYWNoYXRfY29sb3IpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wcm9kdWl0X2FjaGF0ICNzeWxpdXMtcHJvZHVjdC1hZGRpbmctdG8tY2FydCAjYWpvdXRQYW5pZXIgPiBpe1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpY2hlIHByb2R1aXRcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLmZpY2hlX3Jvd3tcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cykgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDMwcHggNDVweCA2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjRmNGY0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3Rfc2hvd10gLnVpLnR3by5jb2x1bW4uc3RhY2thYmxlLmdyaWQge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDMwcHggNDVweCA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51aS5icmVhZGNydW1iIGEge1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDtcclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2UgZXQgbWluaWF0dXJlIFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG5cclxuLyogI2ltYWdlICovXHJcbiNibG9jX2ltYWdlc3tcclxuICAgIHdpZHRoOiB2YXIoLS1wcm9kdWl0X2luZm9fYmxvY193aWR0aCkgIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDQ2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLm1haW5JbWFnZV9jb250YWluZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5tYWluSW1hZ2VfY29udGFpbmVye1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1haW5JbWFnZXtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4ubWluaWF0dXJlX2NvbnRhaW5lcntcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4XHJcbn1cclxuXHJcbi5taW5pYXR1cmV7XHJcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5mbyBzdXIgbGUgamV1IFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4vKiAjaW5mb19qZXUgKi9cclxuXHJcbi5ibG9jX2luZm9QcmluY2lwYWxlc3tcclxuICAgIGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJkX3JhZGl1cyk7XHJcbiAgICB3aWR0aDp2YXIoLS1wcm9kdWl0X2luZm9fYmxvY193aWR0aCkgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udXNlckljb257XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4vKioqKiogU3RvY2sgZXQgbGl2cmFpc29uICoqKioqL1xyXG5cclxuI2Jsb2Nfc3RvY2tfYW5kX3NoaXBwaW5ne1xyXG4gICAgcGFkZGluZzogMjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMTBweDtcclxufVxyXG5cclxuLmZpY2hlX3Byb2R1aXRfc3RvY2t7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDVweDtcclxufVxyXG5cclxuLmZpY2hlX3Byb2R1aXRfc3RvY2tfdGV4dHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIGNvbG9yOiB2YXIoLS1jdGFfcG9zaXRpZl9hY3Rpb24pO1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdG9ja19pY29ue1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBmaWxsOiB2YXIoLS1jdGFfcG9zaXRpZl9hY3Rpb24pO1xyXG59XHJcblxyXG4vKioqKiogU2hvcnQgRGVzY3JpcHRpb24gKioqKiovXHJcblxyXG4ucHJvZHVpdC1kZXNjcmlwdGlvbntcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuI2luZm9fcHJldmlld19jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kamlfZ3JleSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4uaW5mb19wcmV2aWV3e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG4uaW5mb19wcmV2aWV3ID4gcHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG5cclxuLmluZm9JY29ue1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5ibG9jX2luZm9QcmluY2lwYWxlcyBocntcclxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIHdpZHRoOiA4MCU7XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY2hhdCBhY3Rpb24gdXRpbGlzYXRldXIgIFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4vKiAjYWNoYXQgKi9cclxuI2FjaGF0e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbiNhY2hhdCA+ZGl2e1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICBnYXA6IDJweDtcclxufVxyXG5cclxuLmZpY2hlX3RleHRfYWNoYXR7XHJcbiAgICBtYXJnaW46IDEwcHggMDtcclxufVxyXG5cclxuXHJcbi8qKioqKiBCbG9jIFByaXggKioqKiovXHJcblxyXG4jYmxvY19wcmljZXtcclxuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZpY2hlX3Byb2R1aXRfcHJpeHtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGVuZDtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuICAgIGdhcDogN3B4O1xyXG59XHJcblxyXG4jcHJvZHVjdC1vcmlnaW5hbC1wcmljZXtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi8qKioqKiBRdWFudGl0w6kgKioqKiovXHJcblxyXG4jc3lsaXVzLXByb2R1Y3QtYWRkaW5nLXRvLWNhcnR7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0IC5yZXF1aXJlZC5maWVsZHtcclxuICAgIGdhcDogMTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNzeWxpdXMtcHJvZHVjdC1hZGRpbmctdG8tY2FydCAucmVxdWlyZWQuZmllbGQgPiBsYWJlbHtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc3lsaXVzX2FkZF90b19jYXJ0X2NhcnRJdGVtX3F1YW50aXR5e1xyXG4gICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYWlsX2ljb257XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIGZpbGw6ICNmZmY7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjpzdWI7XHJcbn1cclxuXHJcbi5maWNoZV9wcm9kdWl0X3N0b2NrLnJ1cHR1cmV7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAvKnRvcDotNyU7ICBBIHJldm9pciAqL1xyXG59XHJcblxyXG4uc3RvY2tfaWNvbi5ydXB0dXJlLCAuZmljaGVfcHJvZHVpdF9zdG9ja190ZXh0LnJ1cHR1cmV7XHJcbiAgICBjb2xvcjogI2ZmMDAyYTtcclxuICAgIGZpbGw6IHJlZDtcclxufVxyXG5cclxuLyoqKioqIEJvdXRvbiBham91dGVyIGF1IHBhbmllciAqKioqKi9cclxuXHJcbiNham91dFBhbmllci5jdGFfYnRue1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdGFfYWNoYXRfY29sb3IpO1xyXG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbl8zMDBtcyk7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxM3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNham91dFBhbmllci5jdGFfYnRuOmhvdmVye1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4jYWpvdXRQYW5pZXIuY3RhX2J0bjo6YmVmb3Jle1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3RhX3Bvc2l0aWZfYWN0aW9uKTtcclxufVxyXG5cclxuLmN0YV9idG4ucnVwdHVyZXtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogMTAwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3RhX2J0bi5ydXB0dXJlOjpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yb3VnZV9kZWJ1dF9ncmFkaWVudCk7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLnVpLmJ1dHRvbi5wcmltYXJ5LCAudWkuYmFzaWMuYnV0dG9uLnByaW1hcnksIC51aS5sYWJlbGVkLmJ1dHRvbi5wcmltYXJ5LCAudWkubGFiZWxlZC5pY29uLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9ucyAudWkubGFiZWxlZC5pY29uLmJ1dHRvbi5wcmltYXJ5LCAudWkuYnV0dG9uLmdyZWVuLCAudWkuYmFzaWMuYnV0dG9uLmdyZWVuLCAudWkubGFiZWxlZC5idXR0b24uZ3JlZW4sIC51aS5sYWJlbGVkLmljb24uYnV0dG9uLmdyZWVuLCAuYnV0dG9ucyAudWkubGFiZWxlZC5pY29uLmJ1dHRvbi5ncmVlbiwgLnVpLmJ1dHRvbi5zdWJtaXQsIC51aS5iYXNpYy5idXR0b24uc3VibWl0LCAudWkubGFiZWxlZC5idXR0b24uc3VibWl0LCAudWkubGFiZWxlZC5pY29uLmJ1dHRvbi5zdWJtaXQsIC5idXR0b25zIC51aS5sYWJlbGVkLmljb24uYnV0dG9uLnN1Ym1pdCB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3RhX2FjaGF0X2NvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG59XHJcblxyXG4jc3lsaXVzLXByb2R1Y3QtYWRkaW5nLXRvLWNhcnQgLnVpLmJ1dHRvbiwgI3N5bGl1cy1wcm9kdWN0LWFkZGluZy10by1jYXJ0IC51aS5iYXNpYy5idXR0b24sICNzeWxpdXMtcHJvZHVjdC1hZGRpbmctdG8tY2FydCAudWkubGFiZWxlZC5idXR0b24sICNzeWxpdXMtcHJvZHVjdC1hZGRpbmctdG8tY2FydCAuYnV0dG9ucyAudWkubGFiZWxlZC5pY29uLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jdGFfYWNoYXRfY29sb3IpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbn1cclxuXHJcbi5wcmltYXJ5LmJ1dHRvbi5jdGEge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3RhX2hvdmVyX2NvbG9yKSAhaW1wb3J0YW50O31cclxuXHJcblxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gZXQgRmljaGUgdGVjaG5pcXVlXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5ibG9jX2RldGFpbF9wcm9kdWl0e1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmRfcmFkaXVzKSB2YXIoLS1iZF9yYWRpdXMpIDAgMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Y0ZjRmNDtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsb2NfZGV0YWlsX3Byb2R1aXQ6OmJlZm9yZXtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsb2NfZGV0YWlsX3Byb2R1aXQgPiBhOmhvdmVye1xyXG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsb2NfZGV0YWlsX3Byb2R1aXQgPiBhLmFjdGl2ZXtcclxuICAgIGJvcmRlci1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLnJ1YnJpcXVle1xyXG4gICAgcGFkZGluZzogMzBweCA0MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNzeWxpdXMtcHJvZHVjdC1hdHRyaWJ1dGVze1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4jc3lsaXVzLXByb2R1Y3QtYXR0cmlidXRlcyB0cjpudGgtY2hpbGQoZXZlbil7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xyXG59XHJcblxyXG50ZC5zeWxpdXMtcHJvZHVjdC1hdHRyaWJ1dGUtbmFtZXtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbn1cclxuXHJcbi51aS5kZWZpbml0aW9uLnRhYmxlIHRkOm50aC1jaGlsZCgyKSB7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxufVxyXG5cclxuLnVpLnRhYmxlIHRyIHRkIHtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFnZSBQYW5pZXJcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuI3N5bGl1cy1jYXJ0LWNsZWFyOmhvdmVye1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3N5bGl1cy1jYXJ0LWNsZWFyOjpiZWZvcmV7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3N5bGl1cy1jYXJ0LXZhbGlkYXRlLXBheW1lbnR7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNzeWxpdXMtY2FydC12YWxpZGF0ZS1wYXltZW50OmhvdmVye1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3N5bGl1cy1jYXJ0LXZhbGlkYXRlLXBheW1lbnQ6OmJlZm9yZXtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHdpZHRoOiAxMCU7XHJcbiAgICBhc3BlY3QtcmF0aW86IDE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWN0YV9wb3NpdGlmX2FjdGlvbik7XHJcbn1cclxuXHJcblxyXG4jc3lsaXVzLWNhcnQtdmFsaWRhdGUtcGF5bWVudDpob3Zlcjo6YmVmb3Jle1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhZ2UgQ0dWXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5jZ3YgYXtcclxuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2d2IGgxe1xyXG4gICAgbWFyZ2luOiA0MHB4IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jZ3YgaDJ7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWdlIGEgcHJvcG9zXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbiNhX3Byb3Bvc19wYWdlIGgxe1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbiNhX3Byb3Bvc19wYWdlIGgye1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbWF4LWlubGluZS1zaXplOiA1MGNoO1xyXG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xyXG59XHJcblxyXG4jYV9wcm9wb3NfcGFnZSAucG9ydHJhaXR7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG59XHJcblxyXG4jYV9wcm9wb3NfcGFnZSAubG9nb19jb21wZXRlbmNle1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuI2FfcHJvcG9zX3BhZ2UgLmxvZ29fY29tcGV0ZW5jZS5tYWdlbnRve1xyXG4gICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbiNhX3Byb3Bvc19wYWdlIC5sb2dvX2NvbXBldGVuY2Uuc3lsaXVze1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbn1cclxuXHJcbiNhX3Byb3Bvc19wYWdlIHAge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfZmFtaWx5KTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4jYV9wcm9wb3NfcGFnZSAjcHJlc2VudGF0aW9uIGRpdntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDMwcHg7XHJcbn1cclxuXHJcbiNhX3Byb3Bvc19wYWdlIC5zY3JlZW5zaG90e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtdWxhaXJlIGNvb2tpZVxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG5cclxuI2Nvb2tpZV9kaWFsb2d7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG5cclxufVxyXG5cclxuZGlhbG9nOjpiYWNrZHJvcHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA0ZDtcclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm11bGFpcmUgSW5zY3JpcHRpb25cclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLm1kcF9pY29ue1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5tZHBfaWNvbi5oaWRkZW57XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jbWRwX3JlZ2V4X21zZ3tcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNtZHBfcmVnZXhfbXNnIC5pbnZhbGlke1xyXG4gICAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuI21kcF9yZWdleF9tc2cgLnZhbGlke1xyXG4gICAgY29sb3I6IGdyZWVuO1xyXG59XHJcblxyXG4jbWRwX3Nob3dfaW5wdXRfYm94e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9vdGVyXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbiNmb290ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kb3JhbmNvX2JnKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jZm9vdGVyIC51aS5pbnZlcnRlZC5kaXZpZGVkLmVxdWFsLmhlaWdodC5zdGFja2FibGUuZ3JpZHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ucHJlLWZvb3RlcntcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCA2OC4zZGVnLCAgdmFyKC0tcm91Z2VfZGVidXRfZ3JhZGllbnQpIDAuNCUsIHZhcigtLWRvcmFuY29fcm91Z2UpIDEwMC4yJSApICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1iZF9yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wcmUtZm9vdGVyIHN0cm9uZ3tcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuXHJcbi5wcmUtZm9vdGVyIHN0cm9uZyArIGRpdntcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxufVxyXG5cclxuLyogU2xpZGUgaW4gKi9cclxuXHJcbiNmb290ZXIgLmxpbmsubGlzdCA+IGF7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiNmb290ZXIgLmxpbmsubGlzdCA+IGE6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgdmlzaWJpbGl0eTp2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDAuMWVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZG9yYW5jb19yb3VnZSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAxJSwgMCwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zLCB0cmFuc2Zvcm0gMzAwbXM7XHJcbn1cclxuICBcclxuICBcclxuI2Zvb3RlciAubGluay5saXN0ID4gYTpob3Zlcjo6YWZ0ZXIsXHJcbiNmb290ZXIgLmxpbmsubGlzdCA+IGE6Zm9jdXM6OmFmdGVye1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLmRvcmFuY29fbGlua3tcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbn1cclxuXHJcbi5kb3JhbmNvX2xvZ297XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiNjb3B5cmlnaHR7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/